我用fortran编写了以下代码:
implicit none
real a,b
integer c
a=0.04
b=0.001
c=a/b
我得到的是39,我不知道为什么。当我将a和b设置为real时,它们是单精度的,这意味着该操作足以获得40的正确答案。任何人都可以解释吗?
对于c
一个integer
(默认那种)转让c=a/b
等同于c=INT(a/b)
。INT
使得比40稍小的实数映射为39。
你看到了什么
print *, 0.04, 0.001, 0.04/0.001, INT(0.04/0.001)
?如果您真的想看40,请NINT
在阅读热门链接后考虑。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句