小编sal*_*oil的帖子

Fortran中实数的精确问题

我一直在尝试使用Fortran作为我的研究项目,使用GNU Fortran编译器(gfortran),最新版本,但我在处理实数时遇到了一些问题.如果您有代码:

program test
implicit none

real :: y = 23.234, z

z = y * 100000
write(*,*) y, z

end program
Run Code Online (Sandbox Code Playgroud)

你会得到输出:

23.23999    2323400.0 
Run Code Online (Sandbox Code Playgroud)

我发现这很奇怪.有人能告诉我这里到底发生了什么吗?看看z我可以看到y确实保留了它的精度,所以对于我认为应该不成问题的计算.但是为什么y的输出与我指定的值不完全相同,我能做些什么才能使它完全相同?

precision fortran gfortran real-datatype

2
推荐指数
1
解决办法
7236
查看次数

标签 统计

fortran ×1

gfortran ×1

precision ×1

real-datatype ×1