使用非常大的数字

时间:2013-12-28 10:03:49

标签: c++ int

我希望在C ++中使用非常大的数字(在一个变量中最多255个数字)并在基本级别(+, - ,*,/,^和√)上操作这些值,但我不确定是否使用{ {1}}(https://mattmccutchen.net/bigint/)会处理如此大的数字。

2 个答案:

答案 0 :(得分:2)

here类似,我建议您查看Owen Astrachan撰写的The Large Integer Case Study in C++.pdf。我发现这个文件对于详细介绍和代码实现非常有用。它不使用任何第三方库。我用它来处理大量数字(只要你有足够的内存来存储vector<char>)没有问题。


<强>观: 它通过在vector<char>中存储big int来实现任意精度整数类。

vector<char> myDigits; // stores all digits of number

然后,所有与big int相关的操作(包括<<, >>, +, -, *, ==, <, !=, >, etc.)都可以根据此char array上的操作完成。


修改:顺便说一下,bigInt也很好。

答案 1 :(得分:1)

我建议您使用GMP(https://gmplib.org)。它可以使用任意长度的数字。