如何乘以大于 uint64 的整数

How to multiply integers larger than uint64?

本文关键字:整数 uint64 大于 何乘      更新时间:2023-10-16
#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