回 帖 发 新 帖 刷新版面

主题:fortran输出infinity求助

fortran定义了一个实数
Real(k=8)a

huge(a)=1.8e308

但是如果赋值的时候令
a=100.0**(2.0*10.0)

最后输出的a却为infinity,这是为什么呢?谢谢

回复列表 (共1个回复)

沙发

等号右边100.0**(2.0*10.0) 是按照单精度计算的. 不管你左边是a是单精度还是双精度.
还有, 指数没必要的话不要用浮点数2.0*10.0=>2*10就好了.
a=(100.0D0)**(2*10)

我来回复

您尚未登录,请登录后再回复。点此登录或注册