【发布时间】:2010-07-08 14:26:37
【问题描述】:
我正在尝试处理大数(~10^14),我需要能够存储它们并迭代该长度的循环,即
n=SOME_BIG_NUMBER
do i=n,1,-1
我尝试了通常的星号,kind=8 等,但似乎没有任何效果。
然后我检查了huge内部函数,代码:
program inttest
print *,huge(1)
print *,huge(2)
print *,huge(4)
print *,huge(8)
print *,huge(16)
print *,huge(32)
end program inttest
在所有情况下都生成数字 2147483647。为什么是这样?我在 64 位机器上使用 gfortran (f95)。
如果我需要一个 bignum 库,人们会推荐哪一个?
【问题讨论】:
-
您是否将变量声明为 integer*8 ?
-
循环迭代~10^14 次?你知道这需要多长时间吗?我认为你需要重新考虑你的算法。
标签: loops fortran largenumber