Reputation: 39437
I'm reviving this question, and making it more specific: Is there a .NET framework library that supports numbers with arbitrary digits of precision?
Upvotes: 2
Views: 3995
Reputation: 21
If you want a really fast library then try:
http://www.emilstefanov.net/Projects/GnuMpDotNet/
Upvotes: 2
Reputation: 30303
Can you wait for .NET 4.0? They're bringing BigInteger directly into the Framework.
On the other hand, if you can't wait, then the J# runtime includes built-in support for java.math.BigInteger and BigDecimal. This is redistributable just like the rest of the .NET Framework.
Upvotes: 6
Reputation: 564413
There are a few options here.
A good option is W3b.Sine, which is native C#/.NET, and supports arbitrary precision floating point values.
If you are only dealing with integer values, IntX provides support for arbitrary precision integer values. A potentially more mature option would be C# BigInt, but again, this will not support floating point operations.
Upvotes: 5
Reputation: 29985
GnuMpDotNet: http://www.emilstefanov.net/Projects/GnuMpDotNet/
If you need pure .NET consider looking into this: http://www.codeplex.com/IntX/
Upvotes: 3
Reputation: 14485
Perhaps surprisingly, the Bailey-Borwein-Plouffe formula gives an incremental procedure for computing the next binary or hexadecimal digit of pi without needing to store all the previous digits.
Upvotes: 2
Reputation: 11
Here is a good article on how to represent infinite digits.
good luck
Upvotes: 1
Reputation: 3274
You could try the old method of mantissa. Basically you could have an 64 bit integer for storing the number and then a 64 bit integer for storing the exponent (which could be negative). You could build your own object type and overload the arithmetic operators, so it will be treated as a single number. It will require some work, but I think it will be your best option.
Upvotes: 3