作者latinboy (昵称)
看板Fortran
标题Re: [问题] 计算的精准度问题
时间Thu Aug 6 21:36:22 2009
※ 引述《jyhchyunlu (jyhchyunlu)》之铭言:
: 各位板友好
: 我碰上了一个很奇怪的问题
: 是这样的
: 有三个变数 AL ALO E0 格式都是DOUBLE
: ALO = 1.000000000000000
: AL = 0.999999600000000
浮点数常数会被编译器自动默认为单精确度
给值的时候把常数改成倍精确度浮点数表示法就可以解决
ALO = 1.000000000000000d0
AL = 0.999999600000000d0
: E0=(AL-ALO)/ALO
: 答案应该是-4.000000000000000E-007
: 但我跑出来的结果却是 E0 =-4.000000000115023E-007
: 请问是哪边出错了呢
: 看似差一点点而已
: 但代入往後的计算中
: 这误差会影响答案
: 想请问板友问题出在哪
: 感谢板友的回答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.115.13.205