Re: [問題] 關於誤差估計的問題
底下的程式
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
討論串 (同標題文章)
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章