如何在C#中增加算术运算的堆栈大小

时间:2017-05-15 09:51:55

标签: c# visual-studio

我目前正在使用long来执行算术运算,但结果数字太大(超过9223372036854775807),因此导致溢出错误。有没有办法通过使用不同的数据类型或允许多头访问更多数据来增加此上限?

3 个答案:

答案 0 :(得分:4)

您无法增加long的定义。 但是,您可以使用BigInteger结构来完成任务。 它的限制几乎就是你的计算机内存。

BigInteger结构允许您使用正整数值和负整数值,并提供您在Math类中也可以找到的大多数操作,例如PowMod,还有ModPow和其他功能包括IsPowerOfTwoIsEven

为了使用BigInteger结构,您需要向System.Numerics添加项目引用,它还需要.NET Framework 4.0或更高版本。

答案 1 :(得分:1)

如果您只需要一个正数,请尝试使用ulong。它的容量将增加一倍,因为没有符号位。

答案 2 :(得分:0)

使用Biginteger

要在项目中使用它 - 将System.Numerics程序集的引用添加到项目中。

using System.Numerics;

有关详细信息,请参阅This