1

首先很抱歉,如果已经有这样的话题,但我还没有找到......我需要知道如何处理一个非常大的数字,例如 789^2346 的结果:

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

3 回答 3

6

你可以试试GNU MP Bignum Libraryttmath。此链接指向一些示例。这是非常容易使用。

于 2010-01-15T00:25:59.247 回答
4

您需要一个“大数字”库。一个流行的选择是GNU 的多精度算术库,它有一个 C 接口。我也有一段时间了。对于 C++,另一个是Big Integer Library

我确定在某处 SO 上有一个 bignum 库列表,但我找不到它。有一个标签,您可以漫步其中。

于 2010-01-15T00:25:40.217 回答
0

您可以考虑 C++ 的 NTL(数论库) - http://www.shoup.net/ntl/。它非常易于使用。

如果你可以放宽 C++ 的要求,Perl 和 Python 本身就支持大整数。PHP 支持通过 bcmath 或 gmp 扩展。

于 2010-01-15T02:07:11.040 回答