user520621
user520621

Reputation:

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

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?

Upvotes: 1

Views: 13764

Answers (2)

Ben Voigt
Ben Voigt

Reputation: 283723

You'll need a library. A good one is http://gmplib.org/

Upvotes: 1

xanatos
xanatos

Reputation: 111890

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 )

Upvotes: 3

Related Questions