#include <iostream>
#include <limits>
int main(void) {
cout << std::numeric_limits<uint64_t>::max();
return 0;
}
上面的代码输出(在我的机器上)18446744073709551615
,但我正在尝试将至少具有 25 位数字的数字相乘。如何正确处理大于 uint64
的 2 个整数的乘法?
您需要使用处理大数字的库。以下是其中的一些:
-
GNU 多精度算术库
https://gmplib.org/
-
C++ 大整数库
https://mattmccutchen.net/bigint/
-
提升.多精度
http://www.boost.org/doc/libs/1_55_0/libs/multiprecision/doc/html/index.html