24小时热门版块排行榜    

查看: 5031  |  回复: 14

virtualzx

木虫 (著名写手)

引用回帖:
8楼: Originally posted by hshx9291 at 2016-01-25 09:32:38
您好,我编的小程序如下:
program test
    real*8 Dli
    Dli=10**12
    write(*,*)Dli
    end
   
输出结果为-727379968.000000,仍不科学啊,有什么错误吗?
另外我原程序需要计算的是Dli(1)=(2.6 ...

看了你的程序,问题在于每一个常数都有类型的,10**12这里10是整型(缺省整数是integer*4),这个类别只能达到10位。

取决于你需要的精度,如果你的程序需要完全精确的数值时才需要整数,整数没有任何误差,但能表示的大小范围很有限。你可以用10_8来指定10是8字节整数。

如果你不需要精确数值,而可以接受一定误差,那么就可以用浮点数。浮点数可以直接用科学计数法表示,比如10^15就是1D15

发自小木虫IOS客户端
11楼2016-01-25 11:15:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hshx9291

银虫 (初入文坛)

引用回帖:
11楼: Originally posted by virtualzx at 2016-01-25 11:15:31
看了你的程序,问题在于每一个常数都有类型的,10**12这里10是整型(缺省整数是integer*4),这个类别只能达到10位。
取决于你需要的精度,如果你的程序需要完全精确的数值时才需要整数,整数没有任何误差,但能表示 ...

谢谢您的耐心解答,我原程序有大量的计算式,需要精确数值。如果要得到精确结果,每个常数后面都要写加上_8吗?例如程序中有一段计算为:
rholi(1)=410.70110+1.13071*(722-Tda)-9.5509*10**-4*(722-Tda)**2+6.7842*10**-7*(722-Tda)**3
        cpli(1)=0.00692*Tda**2-0.532*Tda+1720.3
        muli(1)=175.1*10**-3*exp(-10.31+1859/Tda)
        muli(2)=127.58*10**-3*exp(-9.47+1463/Tda)
        kli(1)=(0.4607*(1-0.00138*Tda)**0.38)/(Tda**(1/6))
        Dli(1)=(2.609*(10**-12)*Tda)/muli(2)
怎样才能让计算结果显示精确呢?我只在Dli(1)的赋值语句中加上_8显示结果仍为错误的。有没有全局设定什么的?谢谢您。
12楼2016-01-25 14:41:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hshx9291

银虫 (初入文坛)

引用回帖:
11楼: Originally posted by virtualzx at 2016-01-25 11:15:31
看了你的程序,问题在于每一个常数都有类型的,10**12这里10是整型(缺省整数是integer*4),这个类别只能达到10位。
取决于你需要的精度,如果你的程序需要完全精确的数值时才需要整数,整数没有任何误差,但能表示 ...

再比如,我又编了个小程序:
program test
    real*8 Dli
    real*8::Tda=300.00
    real*8::muli=118.358
    Dli=(2.609_8*(10_8**-12)*Tda)/muli
    write(*,*)Dli
    end
   
运算结果仍为0.00000000E+000
13楼2016-01-25 15:00:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piaoye4

木虫之王 (著名写手)

【答案】应助回帖

如果是real型, 10需要写成10.0
14楼2016-01-27 10:55:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piaoye4

木虫之王 (著名写手)

或者,  
可以使用real(10)      例如这句    Dli=(2.609_8*(real(10)**-12)*
来强制转换浮点型
15楼2016-01-27 11:14:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hshx9291 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 中青基了要发朋友圈吗? +3 349506619 2026-08-28 3/150 2026-08-29 10:49 by 木风9012
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 ASdOkHsho7FD 2026-08-28 7/350 2026-08-29 09:38 by G6APbkg8SA6w
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ASdOkHsho7FD 2026-08-28 4/200 2026-08-29 05:45 by gy1nBQXYQJqL
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +8 苏东坡二世 2026-08-23 8/400 2026-08-28 14:41 by lkforward
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 基金未中,这种答复是模板吗? +5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
信息提示
请填处理意见