2010-01-15 3 views
1

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

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

«суд» должен быть «cout», верно? – Ponkadoodle

+0

Возможно, вам нужно уточнить, должны ли ваши большие числа быть плавающей точкой или целыми числами. –

+0

Вы забыли проголосовать и выбрать лучший ответ. – Viet

ответ

4

Вам нужна библиотека «большого числа». Популярным выбором является GNU's Multiple Precision Arithmetic Library, который имеет интерфейс C. Я тоже некоторое время. Другой, для C++, - Big Integer Library.

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

6

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

+1

Существует также библиотека Big Number в разделе криптографии OpenSSL: http://www.openssl.org/docs/crypto/bn.html –

0

Вы можете рассматривать NTL (библиотеку теорий чисел) для C++ - http://www.shoup.net/ntl/. Он очень прост в использовании.

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

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