【发布时间】:2015-05-20 23:54:41
【问题描述】:
我一直在使用下划线将整数定义为 fortran 中的特定类型。
这里有一段代码用来演示1_8 的含义,例如:
program main
implicit none
integer(2) :: tiny
integer(4) :: short
integer(8) :: long
tiny = 1
short = 1
long = 1
print*, huge(tiny)
print*, huge(1_2)
print*, huge(short)
print*, huge(1_4)
print*, huge(long)
print*, huge(1_8)
end program main
哪个返回(使用 PGI 或 gfortran):
32767
32767
2147483647
2147483647
9223372036854775807
9223372036854775807
我正在使用huge 内部函数来返回给定种类的最大数量。所以1_8 显然与整数(8)是同一种。这也适用于实数,虽然我没有在这里展示。
但是,我一直无法找到有关此功能的任何文档,并且我不记得我是从哪里学到的。我的问题是:
是否使用_KIND 标准fortran?有人有这方面的资料吗?
编辑:有人指出,我使用的类型值 (2,4,8) 不是可移植的 - 不同的编译器/机器可能会为 huge(1_4) 提供不同的值,例如例子。
【问题讨论】:
标签: fortran