24小时热门版块排行榜    

查看: 4682  |  回复: 14
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

hshx9291

银虫 (初入文坛)

[求助] Fortran计算10的十次方以上运算结果不正确,是精度问题吗? 已有1人参与

最近用Fortran进行模拟计算,计算结果显示错误,往回找某一参数的计算结果发现为0.0000000E+000,后来检查式子发现有个10的12次方计算。然后我就另建新项目计算了10的几次方计算,发现10的9次方计算结果是1000000000正常,但是10的十次方计算结果就成了1410065408,11次方为1215752192,12次方就成了-727379968。一开始怀疑是精度问题,但是设置成精度为real(8),real(16)结果计算都是这样。求问大神是为什么?
回复此楼
已阅   回复此楼   关注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的回帖
查看全部 15 个回答

suyi20466975

至尊木虫 (正式写手)

巾帼将军

【答案】应助回帖

感谢参与,应助指数 +1
是因为整数,fortran对整数的存储是有极限的,你把做计算的变量定义成双精度实型,最后它会以科学计数法的形式给出结果。

发自小木虫IOS客户端
Everythingwillbechanged!
2楼2016-01-24 17:18:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

你用的四字节整数,就只能到这个数量级。如果需要更多,可以告诉编译器使用八字节整数(ifort 的flag 是-i8),可以到二十位数。再多一般就没有使用精确数值的必要了,可以用浮点数近似代替

发自小木虫IOS客户端
3楼2016-01-24 17:56:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hshx9291

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by suyi20466975 at 2016-01-24 17:18:53
是因为整数,fortran对整数的存储是有极限的,你把做计算的变量定义成双精度实型,最后它会以科学计数法的形式给出结果。

请问双精度实型怎么定义?real(8)不已经是双精度了吗?

发自小木虫Android客户端
4楼2016-01-24 20:57:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 299求调剂 +7 某某某某位 2026-03-21 7/350 2026-03-24 15:24 by cuifj
[考研] 材料学硕,求调剂 6+3 糖葫芦888ll 2026-03-22 6/300 2026-03-24 15:05 by 123456zjm
[考研] 【考研调剂】化学专业 281分,一志愿四川大学,诚心求调剂 +12 吃吃吃才有意义 2026-03-19 13/650 2026-03-24 10:06 by NCUT_Yu
[考研] 07化学280分求调剂 +4 722865 2026-03-23 4/200 2026-03-24 00:01 by chixmc
[考研] 0703化学求调剂 +4 奶油草莓. 2026-03-22 5/250 2026-03-23 19:37 by pswait
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +5 jiajunX 2026-03-22 5/250 2026-03-23 18:07 by YMU施老师
[考研] 一志愿070300浙大化学358分,求调剂! +4 酥酥鱼.. 2026-03-21 4/200 2026-03-23 08:12 by Iveryant
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +11 枫桥ZL 2026-03-18 13/650 2026-03-22 20:26 by edmund7
[考研] 一志愿华中农业071010,总分320求调剂 +5 困困困困坤坤 2026-03-20 6/300 2026-03-22 17:41 by hxsm
[考研] 一志愿东华大学控制学硕320求调剂 +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by 简之-
[考研] 材料学硕333求调剂 +3 北道巷 2026-03-18 3/150 2026-03-21 18:17 by 学员8dgXkO
[考研] 297求调剂 +11 戏精丹丹丹 2026-03-17 12/600 2026-03-21 17:47 by ColorlessPI
[考研] 313求调剂 +4 肆叁贰壹22 2026-03-19 4/200 2026-03-21 17:33 by ColorlessPI
[考研] 0805材料320求调剂 +3 深海物语 2026-03-20 3/150 2026-03-21 15:46 by 无际的草原
[考研] 求调剂 +3 白QF 2026-03-21 3/150 2026-03-21 13:12 by zhukairuo
[考研] 二本跨考郑大材料306英一数二 +3 z1z2z3879 2026-03-17 3/150 2026-03-21 02:29 by JourneyLucky
[考研] 332求调剂 +4 ydfyh 2026-03-17 4/200 2026-03-21 02:20 by JourneyLucky
[考研] 295复试调剂 +8 简木ChuFront 2026-03-19 8/400 2026-03-20 20:44 by zhukairuo
[考研] 求调剂 +3 @taotao 2026-03-20 3/150 2026-03-20 19:35 by JourneyLucky
[考研] 086500 325 求调剂 +3 领带小熊 2026-03-19 3/150 2026-03-20 18:38 by 尽舜尧1
信息提示
请填处理意见