我希望在C ++中使用非常大的数字(在一个变量中最多255个数字)并在基本级别(+, - ,*,/,^和√)上操作这些值,但我不确定是否使用{ {1}}(https://mattmccutchen.net/bigint/)会处理如此大的数字。
答案 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)。它可以使用任意长度的数字。