This question already has answers here:
Arbitrary size integers in C/C++

(5个答案)



What variable type for extremely big integer numbers?

(1个答案)


3年前关闭。




我需要一种使用非常大的数据类型的方法。尽管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

关于c++ - 如何在C++中获得任意大数? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42322607/

10-10 05:35