Fortran中的精度/舍入问题

时间:2019-02-06 14:27:42

标签: fortran fortran77

我试图了解这两者之间的区别:

REAL*8 X
X=1.5D0
WRITE(6,*) (0.6D0 + (2*x)/5.)
WRITE(6,*) (0.6 + (2*x)/5.D0)

我希望他们能给出相同的结果,但是我得到了

1.2000000000000000
1.2000000238418580

为什么在第二种情况下即使将0.6求和为双精度值也不能将其转换为双精度?发生什么事了?

0 个答案:

没有答案