Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Big numbers library in c++ [closed]

Tags:

c++

biginteger

I'm doing a project which requires really big numbers, up to 100 digits. I have read that java supports big integers (java.Math.BigInteger), and I want to know if there is something like that in C++. So, here is my question: Is there a standard or non-standard c++ library which implements big integers?

Note: If there is no standard implementation for big integers, I would like a simple non-standard. Thanks in advance.

like image 626
Rontogiannis Aristofanis Avatar asked Oct 20 '12 11:10

Rontogiannis Aristofanis


People also ask

What is Biginteger C++?

bigint is a C++ library which can handle Very very Big Integers. It can calculate factorial of 1000000... it can go any big. It may be useful in Competitive Coding and Scientific Calculations which deals with very very large Integers. It can also be used in Decryption process.

Can C++ handle large numbers?

In C++, we can use large numbers by using the boost library. This C++ boost library is widely used library. This is used for different sections. It has large domain of applications.


1 Answers

The GNU Multiple Precision Arithmetic Library does what you want http://gmplib.org/

Gnu MP is a C library but it has a C++ class Interface and if you are interested only in big integers, you may just deal with mpz_class. Look at the sample below which I took from the page C++ Interface General

 int main (void)  {    mpz_class a, b, c;     a = 1234;    b = "-5678";    c = a+b;    cout << "sum is " << c << "\n";    cout << "absolute value is " << abs(c) << "\n";     return 0;  } 
like image 199
saeedn Avatar answered Oct 06 '22 07:10

saeedn