当前位置:  开发笔记 > 编程语言 > 正文

C#中的大整数

如何解决《C#中的大整数》经验,为你挑选了3个好方法。

目前我正在借用java.math.BigInteger这里描述的J#库.从来没有使用过库来处理大整数,这看起来很慢,大约慢了10倍,即使对于ulong长度数也是如此.有没有人有更好的(最好是免费的)库,或者这种性能水平是否正常?



1> Davorin..:

从.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) - 乘法/除法算法实现.它提供了整数的所有基本操作,如加法,乘法,比较,按位移位等.


对于记录,在新项目中默认不引用`System.Numerics`程序集,因此需要在使用`BigInteger`之前添加它.

2> Steve Severa..:

F#还附带一个.你可以得到它Microsoft.FSharp.Math.



3> Rasmus Faber..:

System.Numerics.BigInteger.NET 4.0中的类基于Microsoft.SolverFoundation.Common.BigIntegerMicrosoft Research.

Solver Foundation的BigInteger课程看起来非常高效.我不确定它下面发布了哪个许可证,但是你可以在这里获得它(下载并安装Solver Foundation并找到Microsoft.Solver.Foundation.dll).

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有