目前我正在借用java.math.BigInteger
这里描述的J#库.从来没有使用过库来处理大整数,这看起来很慢,大约慢了10倍,即使对于ulong
长度数也是如此.有没有人有更好的(最好是免费的)库,或者这种性能水平是否正常?
从.NET 4.0开始,您可以使用System.Numerics.BigInteger类.请参阅此处的文档:http://msdn.microsoft.com/en-us/library/system.numerics.biginteger(v = vs.110).aspx
另一种选择是IntX类.
IntX是一个用纯C#2.0编写的任意精度整数库,具有快速O(N*log N) - 乘法/除法算法实现.它提供了整数的所有基本操作,如加法,乘法,比较,按位移位等.
F#
还附带一个.你可以得到它Microsoft.FSharp.Math
.
System.Numerics.BigInteger
.NET 4.0中的类基于Microsoft.SolverFoundation.Common.BigInteger
Microsoft Research.
Solver Foundation的BigInteger
课程看起来非常高效.我不确定它下面发布了哪个许可证,但是你可以在这里获得它(下载并安装Solver Foundation并找到Microsoft.Solver.Foundation.dll).