我需要一种方式来使用非常非常大的数据类型。而一个int通常是4个字节,我需要的数据类型为536,870,912字节或甚至更高。我不能只使用一个数组,因为我需要能够将它们转换为字符串,加,减,乘,除等。如何在C++中获得任意大的数字?
如何创建或使用如此大的数据类型?我需要一个uint4294967296_t:P
注意我试过使用bitfields的结构,但它们不够大,我无法在使用它的值之间进行转换。
我需要一种方式来使用非常非常大的数据类型。而一个int通常是4个字节,我需要的数据类型为536,870,912字节或甚至更高。我不能只使用一个数组,因为我需要能够将它们转换为字符串,加,减,乘,除等。如何在C++中获得任意大的数字?
如何创建或使用如此大的数据类型?我需要一个uint4294967296_t:P
注意我试过使用bitfields的结构,但它们不够大,我无法在使用它的值之间进行转换。
使用Bignumber库,我更喜欢TTMath的简单性。你可以在这里找到它Link to tttmath。 TTTmath允许在大数字上进行操作,但您可能需要制作自己的toString方法。
这里是TTTmath的例子在使用他们的Samples页:
#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
建议图书馆应该是评论,而不是答案。标记为这样。 (这意味着,希望一个国防部将其转换为评论。) –
为什么?他没有问如何实现大数字,而是如何使用它们。所以图书馆的建议应该是一个有效的答案。 – zett42
询问图书馆推荐的问题是关于SO的话题(这是股票近距离的原因之一)。 –
使用[库](https://gmplib.org/),也许? –
格雷格指的是GIMP库,通常为此推荐。 –
投票结束,因为图书馆的建议目前与SO无关。 –