24小时热门版块排行榜    

查看: 4943  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] filecode +14 等待解的谜 2026-08-06 18/900 2026-08-07 10:13 by naalan7001
[基金申请] 听说今天filecode变了 +21 布布和一二 2026-08-06 44/2200 2026-08-07 10:11 by 布布和一二
[基金申请] 基金中了 +9 laoda193707 2026-08-06 9/450 2026-08-07 08:54 by ZJTJZ
[基金申请] 固定端突然变了,今天 +4 archvillain 2026-08-06 8/400 2026-08-07 08:06 by 带你看大海
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[论文投稿] 十年后又回来了,论文投稿求助 +3 哈哈114477 2026-08-01 3/150 2026-08-04 15:40 by tegsgjy20
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见