我目前正在使用long来执行算术运算,但结果数字太大(超过9223372036854775807),因此导致溢出错误。有没有办法通过使用不同的数据类型或允许多头访问更多数据来增加此上限?
答案 0 :(得分:4)
您无法增加long
的定义。
但是,您可以使用BigInteger结构来完成任务。
它的限制几乎就是你的计算机内存。
BigInteger结构允许您使用正整数值和负整数值,并提供您在Math类中也可以找到的大多数操作,例如Pow
,Mod
,还有ModPow
和其他功能包括IsPowerOfTwo
和IsEven
。
为了使用BigInteger结构,您需要向System.Numerics添加项目引用,它还需要.NET Framework 4.0或更高版本。
答案 1 :(得分:1)
如果您只需要一个正数,请尝试使用ulong。它的容量将增加一倍,因为没有符号位。
答案 2 :(得分:0)