保持数字长于64位

PSS*_*Sim 6 c# numbers

我需要保留比long更长的程序号或Int64.因为如果我使用long,它将返回0.

Ehs*_*san 10

您可以在.Net 4.0中使用BigInteger

BigInteger类型是一个不可变类型,表示一个任意大的整数,其理论上的值没有上限或下限.BigInteger类型的成员与其他整数类型(Byte,Int16,Int32,Int64,SByte,UInt16,UInt32和UInt64类型)的成员非常相似.此类型与.NET Framework中的其他整数类型不同,后者具有由其MinValue和MaxValue属性指示的范围.

如果您没有移动到.Net 4的奢侈,那么您可以使用开源项目来帮助您命名为IntX.

IntX是一个用纯C#2.0编写的任意精度整数库,具有快速 - 约O(N*log N) - 乘法/除法算法实现.它提供了对整数,比较,按位移位等的所有基本算术运算.它还允许解析不同基数中的数字并将它们转换为字符串,也可以在任何基数中.这个库的优点是快速乘法,除法和基本/基本转换算法 - 算法的所有快速版本都基于使用快速哈特利变换的大整数的快速乘法运行O(N*log N*log log) N)时间而不是经典的O(N ^ 2).


Alb*_*rto 9

尝试使用BigInteger

BigInteger类型是一个不可变类型,表示一个任意大的整数,其理论上的值没有上限或下限.


Vik*_*ose 5

如果您使用的是.NET Framework 4.0,则可以使用BigInteger.只需添加对System.Numerics程序集的引用即可.

如果.NET Framework 4.0您无法使用,还有很多其他实现,例如CodeProject上的这个实现.