使用非常大的数字
Using very big number
我希望使用非常大的数字(一个变量中最多 255 个数字)并在基本级别 (+、-、*、/、^ 和 √) 上操纵这些值C++但我不确定使用 bigInt
(https://mattmccutchen.net/bigint/) 是否会处理这么大的数字。
与这里类似,我建议您查看Owen Astrachan的The Large Integer Case Study in C++.pdf。我发现这个文件在详细介绍和代码实现方面非常有用。它不使用任何第三方库。我已经使用它来处理巨大的数字(只要您有足够的内存来存储vector<char>
)没有问题。
理念:它通过在vector<char>
中存储大整数来实现任意精度整数类。
vector<char> myDigits; // stores all digits of number
那么所有与大int相关的操作,包括<<, >>, +, -, *, ==, <, !=, >, etc.
,都可以基于这个char array
的操作来完成。
编辑:顺便说一句,bigInt
也很好。
我建议你使用GMP(https://gmplib.org)。 它适用于任意长度的数字。
相关文章:
- 使用浮点数和双精度数的非常小数字的数学
- 如何非常快速地将数字添加到 Vector 中的一系列元素中
- 具有非常非常大数字的算术运算
- 如何在不导致堆栈溢出的情况下计算非常大的数字和很小的 HCF.我正在使用欧几里得算法
- 如何找到由公式计算的非常大的数字的最后一位数字?
- 找到非常大的数字的最右边的未设置位
- 在C++中使用限制和非常大的数字时出现问题
- C 非常奇怪的数字
- 在不使用递归的情况下将 FFT 应用于两个非常大的数字的乘法
- C++整数除法给出非常大的数字
- 在不进行线性搜索的情况下,在非常大的数组中找到比给定数字更小的数字
- 两个非常大的数字的乘积的第一个数字
- 找到非常大数字的分裂模型
- 在非常大的数字序列中查找句点
- 如何在 c++ 中存储非常大的数字
- 查找非常大的 2^n 数字的最后一位数字
- 将十进制转换为二进制,并计算其中的数字非常非常大
- 在GTest中,如何检查数字非常接近0?EXPECT_FLOAT_EQ不工作
- 输出文件中显示的数字非常大
- 数字的组成,其中数字非常大