声明:参考彭国伦先生《Fortran95程序设计》
Fortran中KIND可以看作是用来声明整型数、浮点数变量所占用的内存字节,当KIND搭配上一些Fortran 90的库函数,可以增加程序代码的跨平台能力。在编译器中,各类变量所保存的至于范围如下:
integer(kind=1) -128~127
integer(kind=2) -32768~32767
integer(kind=4) -2147483648~2147483647
real(kind=4) ±1.18*10**38~±3.40*10**38
real(kind=8) ±2.23*10**308~±1.79*10**308
Fortran 90 提供库函数来判断所要记录的数值值域范围所需要的kind值。
SELECTED_INT_KIND(n)
!返回如果想要记录n位整数时,所应声明的kind值。返回-1时,表示无法提供所想要的至于范围
SELECTED_REAL_KIND(n,e)
!返回如果想要能够记录具有n位有效位数、指数达到e位的浮点数所需的kind值。返回-1表示无法满足所需要的有效位数、返回-2表示无法满足所要求的指数范围、返回-3表示两者都无法满足。
下面举个“栗子”:
program main
implicit none
integer,parameter :: long_int = selected_int_kind(9)