我无法理解Fortran 90的kind参数.据我所知,它不确定变量的精度(即浮点数或双精度数),也不确定变量的类型.
那么,它决定了什么,究竟是什么呢?
我有一段Fortran代码,我的Fortran编辑器(Force 2.0.9)无法理解该代码中的以下行.
real(kr8) :: rnum
Run Code Online (Sandbox Code Playgroud)
我找不到任何关于这种变量声明的内容.(kr8)是什么意思?如果有人能向我解释,我真的很感激?
我一直在尝试使用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的输出与我指定的值不完全相同,我能做些什么才能使它完全相同?