Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Most efficient implementation of a large number class

When doing calculations on very large numbers where integral data types such as double or int64 falls short, a separate class to handle such large numbers may be needed.

Does anyone care to offer an efficient algorithm on how best to do this?

like image 550
vzczc Avatar asked Aug 25 '08 14:08

vzczc


2 Answers

There are 2 solutions to your problem:

  • Easy way: Use an external library such as 'The GNU MP Bignum Library and forget about implementation details.

  • Hard way: Design your own class/structure containing multiple higher order datatypes like double or int64 variables and define basic math operations for them using operator overloading (in C++) or via methods named add, subtract, multiply, shift, etc. (in JAVA and other OO languages).

Let me know if you need any further help. I have done this a couple of times in the past.

like image 141
Pascal Avatar answered Sep 17 '22 18:09

Pascal


In C# 4.0 use the BigInteger type

like image 44
vzczc Avatar answered Sep 21 '22 18:09

vzczc