Re: [問題] 計算的精準度問題

看板Fortran作者 (暱稱)時間15年前 (2009/08/06 21:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/6 (看更多)
※ 引述《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
文章代碼(AID): #1AUjnPFD (Fortran)
文章代碼(AID): #1AUjnPFD (Fortran)