Действительно большое число - PullRequest
1 голос
/ 15 января 2010

Прежде всего, извините, если такая тема уже существует, но я не нашел ... Мне нужно знать, как обработать действительно большое число, например результат 789 ^ 2346:

#include <iostream>
#include <cmath>
using namespace std;
int main () {
    cout << pow(789,2346) << endl;
}

Ответы [ 3 ]

6 голосов
/ 15 января 2010

Вы можете попробовать GNU MP Bignum Library или ttmath . Эта ссылка указывает на некоторые образцы. Это очень удобно.

4 голосов
/ 15 января 2010

Вам нужна библиотека "большого числа". Популярным выбором является Многофункциональная арифметическая библиотека GNU с интерфейсом C. Я также был вокруг некоторое время. Другой, для C ++, это Big Integer Library .

Я уверен, что где-то есть список библиотек bignum на SO, но я не могу его найти. Существует тег , по которому можно пройти.

0 голосов
/ 15 января 2010

Вы можете рассмотреть NTL (Библиотека Теории Чисел) для C ++ - http://www.shoup.net/ntl/. Это очень удобно.

Если вы можете ослабить требования C ++, Perl и Python изначально поддерживают большие целые числа. PHP поддерживает через расширения bcmath или gmp.

...