Lange ints in Fortran

Ich versuche, mit großen Zahlen (~ 10 ^ 14) zu arbeiten, und ich muss sie speichern und über Schleifen dieser Länge iterieren können, d. H.

n=SOME_BIG_NUMBER
do i=n,1,-1

Ich habe die übliche Sternnotation ausprobiert,kind=8 etc. aber nichts scheint zu funktionieren. Dann überprüfte ich dashuge intrinsische Funktion und der Code:

program inttest

print *,huge(1)
print *,huge(2)
print *,huge(4)
print *,huge(8)
print *,huge(16)
print *,huge(32)

end program inttest

produziert in allen Fällen die Nummer 2147483647. Warum ist das? Ich verwende gfortran (f95) auf einem 64-Bit-Computer.

Wenn ich eine Bignum-Bibliothek brauche, welche schlagen die Leute vor?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage