24小时热门版块排行榜    

Znn3bq.jpeg
汕头大学海洋科学接受调剂
查看: 3927  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

liming9398

金虫 (正式写手)

[求助] fortran中到底该如何比较两个实数是否相等

如果都是real(4)该如何比较,都是real(8) 又该如何比较?是比较绝对误差还是相对误差,哪个误差都说要小于一个比较小的数,到底应该选多小呢,不同的书说法不一样,又说-4次方的,又说-8次方的,还有的用机器精度(-8次方和-16次方,双精度表示0.24时,实际存储的是0.239999994635582,这个绝对误差本身就是-9次方量级啊,显然不是-16方的量级啊??)到底哪个误差该选多大,有没有一个统一的标准或者最好的选择?
回复此楼

» 收录本帖的淘帖专辑推荐

Ouwen's Greenhouse

» 猜你喜欢

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

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

hklgxm

金虫 (小有名气)

那么也就是说,在Fortran里面判断两个实数是否相等就只能用相对误差小于一个值来判断咯?
9楼2015-10-31 16:02:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
这个要看你自己觉得多大是合适的,你要是认为 0.2400000与0.2399999是相等的,你就设为两者之差小于 0.000001好了……,当然,一般也与你的变量的精度有关
2楼2012-03-31 09:28:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


liming9398: 金币+1 2012-03-31 11:18:40
另外,你看一下 gfortran 中这个程序的输出:
CODE:
  program test
      double precision a
      real b
      a=0.24d0
      b=0.24
      write(*,*) a
      write(*,*) b
   end program test

0.23999999999999999
  0.23999999
3楼2012-03-31 09:32:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
liming9398: 金币+1 2012-03-31 11:19:03
我来吐槽一下对于“精度”的理解应该怎样吧

首先,我们应该了解IEEE754标准规定的单精度和双精度是怎样的

关于IEEE754标准:http://en.wikipedia.org/wiki/IEEE754
关于单精度:http://en.wikipedia.org/wiki/Sin ... oating-point_format
关于双精度:http://en.wikipedia.org/wiki/Dou ... oating-point_format

注意:尾数部分(fraction)是二进制表示的!

单精度的尾数有23位,所以它的最小单位是2的-24次方,约等于5.96E-8;双精度的尾数有52位,所以它的最小单位是2的-53次方,约1.11E-16,常说的“机器精度”是这个意思

领悟十进制转二进制的局限性的话,你就知道为啥就连quadruple precision四精度都不可能精确表达0.1这么简单一个十进制小数了【同时,就算是单精度,也能够精确表达2^-149这个如此微小的十进制小数(约1.4E-45)】,楼主最初问题的答案也呼之欲出了:这个要根据实际的需求来定,因为一般的计算里面,大部分小数都不是被精确表示的,不能教条主义地选择阈值的大小
4楼2012-03-31 09:49:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 085400电子信息类(川大控制工程)求调剂可跨专业 求老师联系 +6 626776879 2026-04-08 6/300 2026-04-14 20:09 by gwjxiaolang
[考研] 08工学 309分求调剂 +12 Yin DY 2026-04-08 12/600 2026-04-14 17:49 by lhj2009
[考研] 367求调剂 +11 hffQAQ 2026-04-09 11/550 2026-04-14 17:48 by lhj2009
[考研] 材料相关专业344求调剂双非工科学校或课题组 +21 hualkop 2026-04-12 22/1100 2026-04-14 17:44 by lhj2009
[考研] 化学070300 求调剂 +23 哈哈哈^_^ 2026-04-12 23/1150 2026-04-14 16:30 by zhouxiaoyu
[考研] 考研求调剂 +6 ban班小七 2026-04-11 6/300 2026-04-14 14:06 by 哆啦A梦只是个梦
[考研] 245求调剂 +6 冰糖橘?汽水 2026-04-13 10/500 2026-04-14 10:49 by jyl0317
[考研] 材料085601调剂 +32 何润采123 2026-04-10 34/1700 2026-04-14 08:47 by 木木mumu~
[考研] 一志愿2110,化学学硕310分,本科重点双非求调剂 +20 努力奋斗112 2026-04-08 20/1000 2026-04-13 14:24 by 张zhihao
[考研] 生物学调剂 +11 小冉要努力 2026-04-10 13/650 2026-04-13 11:46 by 电化学及催化
[考研] 291求调剂 +11 关忆北. 2026-04-09 12/600 2026-04-12 10:32 by 逆水乘风
[考研] 326求调剂 +6 Shansyn 2026-04-10 6/300 2026-04-12 09:46 by hammer3
[考研] 280求调剂 +13 wzzz王 2026-04-09 13/650 2026-04-12 00:31 by 勇攀高峰0126
[考研] 343求调剂 +9 王国帅 2026-04-10 9/450 2026-04-11 20:31 by dongdian1
[考研] 282,求调剂 +12 jggshjkkm 2026-04-09 14/700 2026-04-11 09:39 by 猪会飞
[考研] 284求调剂 +9 让我上岸吧阿西 2026-04-09 11/550 2026-04-10 19:18 by 靖jing
[考研] 086004 求调剂 309 +7 Yin DY 2026-04-08 7/350 2026-04-09 13:59 by Delta2012
[考研] 0860004 求调剂 309分 +6 Yin DY 2026-04-09 6/300 2026-04-09 10:19 by 啊李999
[考研] 286求调剂 +19 Faune 2026-04-08 20/1000 2026-04-09 08:36 by 哦哦123
[考研] 085404,334分,求调剂 +5 sunjie8888 2026-04-08 8/400 2026-04-09 07:26 by sunjie8888
信息提示
请填处理意见