【发布时间】:2015-03-29 22:24:49
【问题描述】:
代码如下:
program error
implicit none
real :: l,h
integer :: r
l=1.0
h=0.2
r=l/h
print*,r
end program error
问题是答案是4。当我明确地将1.0除以0.2时,答案是5,但是当我使用符号时,答案是4。此外,例如1.0/h和l/0.2也是4. 我真的很困惑。
当我将r 定义为实数时,问题就消失了;但我需要它是一个整数,因为我将使用这些变量来定义一个二维数组。
【问题讨论】:
-
请注意,
0.2只是有理数 3602879701896397/18014398509481984 的一个名称。
标签: floating-point integer fortran division floating-accuracy