Как я могу представить очень большое целое число в.NET?
Поставляется ли в.NET класс, способный представлять чрезвычайно большие целые числа, например, 100 факториалов? Если нет, какие есть хорошие сторонние библиотеки для этого?
5 ответов
.NET 4 имеет класс BigInteger
Представляет произвольно большое целое число со знаком.
Тип BigInteger - это неизменный тип, представляющий произвольно большое целое число, значение которого в теории не имеет верхних или нижних границ. Этот тип отличается от других целочисленных типов в.NET Framework, диапазон которых указан их свойствами MinValue и MaxValue.
.NET имеет класс BigInteger, но, к сожалению, он внутренний. Однако в нескольких местах есть свои. Вы можете получить реализацию из IronPython, либо из CodeProject, либо из Visual J#. Я должен сказать, я не пробовал это сам, поэтому я не знаю, какой из них лучший.
http://www.codeplex.com/IronPython http://www.codeproject.com/KB/cs/biginteger.aspx http://msdn.microsoft.com/en-us/magazine/cc163696.aspx
Microsoft.FSharp.Math.Types.BigInt
Может представлять любое целое число.
Вот ссылка на документацию большого целого числа в рамках 4.0
http://msdn.microsoft.com/en-us/library/system.numerics.biginteger(VS.100).aspx
Mono уже имеет публичную реализацию BigInteger:
http://www.go-mono.com/docs/index.aspx?link=T:Mono.Math.BigInteger
Вы можете просто взять сборку Mono.Security, чтобы использовать ее; Так как это библиотека классов Mono, она также должна иметь лицензию MIT.