Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++ Boost Large Number Storage

So based on the question I asked earlier, I downloaded and setup boost. I have this code:

#include <stdlib.h>
#include <boost\multiprecision\gmp.hpp>
using namespace std;
using namespace boost::multiprecision;

void main() {
    mpz_int N(567014094304930933548155069494723691156768423655208899778686163624192868328194365094673392756508907687565332345345678900976543567890976543565789054335678097654680986564323567890876532456890775646780976543556789054367890765435689876545898876587907876535976565578907654538790878656543687656543467898786565457897675645657689756456578656456768654657898865567689656890795587907654678798765787897865654657897654678965465786867278762795432151914451557727529104757415030674806148138138281214236089749601911974949125689884222023119844272122501649909415937);

}

But when I compile it says

IntelliSense: integer constant is too large

If mpz_int is not what I'm supposed to use, then what should I use for large ints from boost?

like image 237
Richard Avatar asked Mar 04 '13 07:03

Richard


1 Answers

Construct it from string. You can use mpz_int or cpp_int.

http://liveworkspace.org/code/1KKxfm$6

like image 152
ForEveR Avatar answered Sep 19 '22 03:09

ForEveR