看板 Fortran 關於我們 聯絡資訊
底下的程式 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