回 帖 发 新 帖 刷新版面

主题:请求高手过目。这么大的误差怎么产生的。。

implicit none
real(8),parameter::i=4
real(8),parameter::j=I**0.3
print*,j
end
 1.5157165[color=FF0000]9155900[/color]
而我用windows自带的计算器(科学型)算,则是
 1.5157165[color=FF0000]665103980823472598013064[/color]
怎么误差这么大,不是说好是双精度的吗
fortran的运算这么不可靠么!!
 
还是**的问题,请教**运行符的使用原则

回复列表 (共4个回复)

沙发

4改为4.d0
0.3改为0.3d0

板凳

为什么,我前面不是已经说明了为real(8)吗,为什么它不自动转换。

3 楼

截断误差

4 楼

[quote]为什么,我前面不是已经说明了为real(8)吗,为什么它不自动转换。[/quote]
这个问题其实很老的了, 可以搜索一些论坛.
因为没有管理员, 很多FQA帖没有置顶而沉下去了.

我来回复

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