how do I declare an integer variable of 1024 bits in length?

user520621 picture user520621 · Mar 20, 2011 · Viewed 9.4k times · Source

I'm trying to write an algorithm for a number theory/computer science merged class that can factor large numbers in better than exponential time. I am using the g++ compiler on a 64 bit machine but when I chain together long it will only allow me to do up to 2 longs. Is there any way to tell it to use an arbitrary amount of space for a variable?

Answer

xanatos picture xanatos · Mar 20, 2011

If you want just a collection of longs, you can declare an array of longs. But you don't want that. You want https://mattmccutchen.net/bigint/ BigIntegers :-)

Alternatives:

http://gmplib.org/

http://www.mpir.org/

(disclaimer: I haven't tested/used them)

Or if you want to implement them

How to implement big int in C++

I'll add that the C++ std library doesn't contain a big integer implementation (source STL big int class implementation )