在.net中处理非常大的数字

时间:2013-08-04 13:17:28

标签: c# .net types fibonacci largenumber

是否有任何库可以处理大于.net中的BigInteger可以处理的数字?使用BigInteger我可以计算出第3226届斐波那契数列。如何计算更多条款?发生溢出时,有没有办法加入两个BigInteger?寻求你的帮助。

2 个答案:

答案 0 :(得分:2)

在.Net中使用BigInteger Handel一个未知的大号,没有别的办法。如果它流过,那么数字就是很大而不是handeld并且没有办法看到:

  

因为BigInteger类型是不可变的(参见Mutability和   BigInteger Structure)因为它没有上限或下限,所以   对于导致a的任何操作,都可以抛出OutOfMemoryException   BigInteger值增长过大。

答案 1 :(得分:1)

我认为问题出在你的身上,而不是BigInteger

BigInteger prev2 = 1;
BigInteger prev1 = 1;

int i = 3;

while (true)
{
    BigInteger fi = prev2 + prev1;
    Console.WriteLine("{0}th: {1}", i, fi);
    prev2 = prev1;
    prev1 = fi;
    i++;
}

它没有问题地到达第300000个。