如何在C 中任意获得大数字

How to get arbitrarily large numbers in c++?

本文关键字:数字 任意获      更新时间:2023-10-16

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

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

注意,我尝试使用与Bitfields使用结构,但它们不够大,我无法使用它在值之间转换。

使用bignumber库,我更喜欢TTMATH,以简单地使用ttmath。您可以在此处找到它链接到TTTMATH。TTTMATH允许大量操作,但您可能需要自己制作自己的tostring方法。

这是从其样本页面中使用的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