24小时热门版块排行榜    

查看: 1381  |  回复: 7
【悬赏金币】回答本帖问题,作者liming9398将赠送您 2 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

liming9398

金虫 (正式写手)

[求助] numerical recipes in fortan 代码的疑惑已有1人参与

SUBROUTINE flmoon(n,nph,jd,frac)
      INTEGER jd,n,nph
      REAL frac,RAD
      PARAMETER (RAD=3.14159265/180.)
      INTEGER i
      REAL am,as,c,t,t2,xtra
      c=n+nph/4.
      t=c/1236.85
      t2=t**2
      as=359.2242+29.105356*c
      am=306.0253+385.816918*c+0.010730*t2
      jd=2415020+28*n+7*nph
      xtra=0.75933+1.53058868*c+(1.178e-4-1.55e-7*t)*t2
      if(nph.eq.0.or.nph.eq.2)then
        xtra=xtra+(0.1734-3.93e-4*t)*sin(RAD*as)-0.4068*sin(RAD*am)
      else if(nph.eq.1.or.nph.eq.3)then
        xtra=xtra+(0.1721-4.e-4*t)*sin(RAD*as)-0.6280*sin(RAD*am)
      else
        pause 'nph is unknown in flmoon'
      endif
      if(xtra.ge.0.)then
        i=int(xtra)
      else
        i=int(xtra-1.)
      endif
      jd=jd+i
      frac=xtra-i
      return
      END
fotran77b标准谢的,为什么要用八位或者九位的常数给real数据RAD,as,am赋值?单精度不是最多七位吗,多了有意义吗?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Carpathia

银虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
建议ls看清楚lz的问题
lz说得没错,给单精度赋值超过位数是没有意义的,同样给双精度数赋值也要加上D0才有意义。Fortran默认的是单精度数。
追求理想的道路上东张西望
5楼2012-05-15 15:02:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

hklulu

木虫 (正式写手)

000

【答案】应助回帖

感谢参与,应助指数 +1
哈哈,新手吧。

八位不是指的数字的位数,而是二进制的8B,就是通常用64位二进制数字来表示双精度数字。

此位非彼位。
00
2楼2012-05-14 11:26:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liming9398

金虫 (正式写手)

可能我没说清楚3.14159265不就是九位的吗,可RAD是real类型的也就是单精度类型的,最多七位有效数字啊,赋值时写这么多位还有意义吗,同样的问题出现在给real类型数据as赋值时表达式中出现29.105356,也超过7位有效数字啊
3楼2012-05-14 11:51:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hklulu

木虫 (正式写手)

000

【答案】应助回帖

奥,当然有意义:
32位机的单双精度的数据:单精度的有效数字:6位;双精度的有效数字:15位
64位机器上有最大18位有效数字和4932为指数的类型。

有些计算需要有效位数1000多位,比如Pi的计算等,这时候就需要自己编写程序来控制有效位数的输出。我记着10年前,我为了在PC上输出20位有效位数,亲自编写了一个多有效位(名为doubledoubledboule类型)的程序,不过现在网上多的很,楼主可以自己找一找,如果感兴趣的话。
00
4楼2012-05-14 13:47:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 省基金太难了 +6 aasahr 2024-06-26 6/300 2024-06-27 09:36 by jurkat.1640
[基金申请] 博后面上今天下午会公布吗?有无消息? +26 hajkdfdf 2024-06-24 45/2250 2024-06-27 09:19 by kyukitu
[基金申请] 专科院校申请国自然 +17 孤单12站 2024-06-24 26/1300 2024-06-27 08:45 by 3001160025
[有机交流] 大佬们,打的核磁氢谱与chemdraw预测的有偏差 +6 来了个 2024-06-26 6/300 2024-06-27 07:09 by bear2007
[公派出国] CSC博士联培对将来就业有用吗 +5 也就这样 2024-06-22 5/250 2024-06-26 20:55 by tshenbin
[有机交流] 做什么表征可以检测塑料中碳氢氧的含量 5+3 pzr的sci之路 2024-06-25 7/350 2024-06-26 19:32 by wrgeng
[论文投稿] 我在写关于多维空间的论文,希望能与大家交流,准备在science上发表 +8 lgf519 2024-06-24 10/500 2024-06-26 16:25 by 梦渺岚烟
[基金申请] 博后面上今天下午会公布吗?大家有无消息? +9 地理学1995 2024-06-24 13/650 2024-06-26 16:02 by kyukitu
[基金申请] 博后面上和特助今天出吗? +41 逗您玩 2024-06-21 78/3900 2024-06-26 16:00 by HAPPY_0225
[基金申请] 评审专家会不会很在意申请人的单位啊 +11 lancet0903 2024-06-24 13/650 2024-06-26 11:42 by 漠上藜梭
[硕博家园] 申博雅思求助 +6 刘嘉研究究 2024-06-24 7/350 2024-06-26 07:08 by 小李醒yy
[有机交流] 对苯乙烯磺酰氯的合成机理 25+3 该死的科研 2024-06-24 5/250 2024-06-25 17:30 by 王学士
[有机交流] 求助析晶问题 20+4 dengdawang 2024-06-24 5/250 2024-06-24 21:22 by cc116
[基金申请] 国自然资助比率是不是要下降了?? +8 今晚推荐22 2024-06-21 12/600 2024-06-24 11:15 by Pickfoot
[有机交流] 三颈瓶加热 5+4 wzjwx888 2024-06-20 4/200 2024-06-24 10:11 by w87437985
[公派出国] 博士csc联培会看重第一学历学校层次吗 +4 也就这样 2024-06-23 4/200 2024-06-24 08:18 by 晓目崇
[有机交流] 生成亚胺的反应怎么能进行完全 +3 1369836 2024-06-23 3/150 2024-06-23 18:44 by hwqMSE
[博后之家] 在国内某高校做全职博士后2年,现在找到新的单位,出站或退站对新工作有什么影响? +10 nxplfcc 2024-06-20 10/500 2024-06-22 07:52 by 徐长安
[基金申请] 教育部基金 +5 m1393 2024-06-21 5/250 2024-06-21 21:13 by odes
[论文投稿] ACS 编辑的意见 10+3 哈哈妞1993 2024-06-20 3/150 2024-06-21 17:06 by 投个论文
信息提示
请填处理意见