Re: [問題] 計算的精準度問題
※ 引述《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
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章