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