如何在 C++ 中获取任意大的数字?

How to get arbitrarily large numbers in c++?

我需要一种方法来使用非常非常大的数据类型。虽然 int 通常是 4 个字节,但我需要 536、870、912 字节甚至更高的数据类型。我不能只使用数组,因为我需要能够将它们转换为字符串、加、减、乘、除等。

如何创建或使用如此大的数据类型?我需要 uint4294967296_t :P

请注意,我曾尝试将结构与位域一起使用,但它们不够大,我无法使用它在值之间进行转换。

使用 Bignumber 库,我更喜欢 TTMath,因为它简单。你可以在这里找到它 Link to tttmath。 TTTmath 允许对大数进行操作,但您可能需要制作自己的 toString 方法。

这是他们 Samples 页面中使用的 TTTmath 示例:

#include <ttmath/ttmath.h>
#include <iostream>

int main()
{
ttmath::UInt<2> a,b,c;

    a = "1234";
    b = 3456; 
    c = a*b;

    std::cout << c << std::endl;
}
Listing nr 1