我有一段Fortran代码,而我的Fortran编辑器(Force 2.0.9)无法理解该代码中的以下行。
real(kr8) :: rnum
我找不到任何有关此类变量声明的内容。 (kr8)是什么意思?如果有人能向我解释,我真的很感激吗?
答案 0 :(得分:6)
这是以下内容的缩写:
real(kind=kr8) :: rnum
在这种情况下,变量或参数kr8
在代码的其他地方指定 - 如果在同一过程中,则在此行上方,或者如果通过模块访问,则在不同的文件中。从名称的角度来看,可以假设kr8
以某种特定编译器具有双精度浮点数(大小为8字节)的方式定义。
请参阅Fortran编译器文档,了解kind
参数对于各种精度以及整数和实数变量范围可以采用的值。如果您使用force,则编译器是gfortran,g95或g77。 kind
参数是Fortran 90中引入的一个特性,如果您的编译器是g77,则可能无法使用此参数进行编译。
对此SO问题的回答也很有用:Fortran 90 kind parameter。
答案 1 :(得分:2)
以下是关于在Fortran> = 90:Fortran: integer*4 vs integer(4) vs integer(kind=4)中声明变量的几种方法的前一个答案。另请参阅Extended double precision 了解如何使用实变量。