Fortran:整数太大了

时间:2013-09-18 23:40:05

标签: fortran

我将一个整数设置为小于其最大值的值,但是收到的错误是它太大了。为什么是这样?这是一个示例程序。

program max_int

integer, parameter :: i32 = selected_int_kind(32)

integer(kind = i32) :: my_int

!The largest integer of this kind
print*, huge(my_int)

!This works
my_int = 100000

!This doesn't, and gives an error.
!my_int = 1000000000000

print*, my_int

end program

1 个答案:

答案 0 :(得分:6)

您需要将i32追加到1000000000000,如下所示:1000000000000_i32。 gfortran抱怨说这个数字太大了。 1000000000000是一个短整数,而不是超长整数。 1000000000000_i32是一个超长整数。它没有抱怨变量,它抱怨常数。