Re: [問題] 關於誤差估計的問題

看板Fortran作者 (sjgau)時間14年前 (2010/05/20 10:47), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
底下的程式 1.0 + 1e-6 可以算的出來 1e-7 有點 勉強 1e-8 算不出來 也就是說,FORTRAN 的 REAL, DEFAULT 是四個 BYTES, 使用 23個 BITS 來表示 浮點數的精確度 大概就是有效位數 六到七位, ( 1.0 + 1E-8 ) 的結果, 還是 1.0 所以,。。。 program VF1035 implicit none real x, y, z integer ct1 x= 4.0*atan(1.0) ct1= 0 print *, 'ct1, x= ', ct1, x pause y= x + 1.0 ! y > x do while (y .GT. x) x= x*(1.0 + 1e-8) y= x + 1.0 ct1= ct1 + 1 end do ! y <= x print *, 'x, y, ct1= ', x, y, ct1 end program VF1035 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.20.182.245
文章代碼(AID): #1BzAB4VL (Fortran)
文章代碼(AID): #1BzAB4VL (Fortran)