2013-11-02 3 views
1

Как я могу обрабатывать очень большие целые числа, например 2^100000000 в C++?Обработка больших целых чисел в C++

Я не нашел решения для этого в Интернете, которое дает точный ответ.

Есть ли какой-либо механизм, который дает правильное значение в C++ для таких больших целых чисел?

+4

Вы искали в stackoverflow? Должен быть, по меньшей мере, один ответ, предлагающий, например, ГМП. Нет никакого стандартного пути (пока), но есть много способов. Присмотрись. – stefan

+1

Попробуйте найти [BigNum] (http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic). – crashmstr

+1

Это немного из стандартного диапазона, чтобы назвать его «целое» - ваш номер имеет 3 * миллиона * цифр. Может быть, поэтому ваш поиск ничего не нашел. – usr2564301

ответ

0

Вы можете представить заданное число как строку и преобразовать его в массив с целыми числами. Но самый простой способ google по ключевым словам «длинная арифметическая библиотека C++» или что-то в этом роде.

3

То, что вы ищете, называется произвольной точности арифметики, вы найдете множество библиотек и образовательных ресурсов с некоторыми поисковыми системами.

0

Может быть, вы хотите использовать Алгебра системы компьютера (CAS), который будет представлять ваше выражение так:

class Pow : public Expr { 
    Number base; 
    Number exp; 
}; 

Pow expr = new Pow(2, 100*1000*1000); 

CAS затем позволяет манипулировать эти выражения структурно вместо конкретных значений.

Смежные вопросы