c++ - 在 C++ 中计算非常大的数字

标签 c++ string math

<分区>

有时间的人可以向我解释如何加强非常大的数字吗?我在这里不是在谈论现成的解决方案,也不是对如何实现算术的唯一解释。理想情况下,它基于类 std::string。

@编辑

我读到一些关于移位位的内容,但例子只是以列表的形式出现,我想要解释它是如何工作的。

最佳答案

您可以将一个大数表示为某个基数中的数字序列,并单独表示数字的符号。要进行算术运算,您只需实现您在小学学到的算法来进行加法、长乘法等。有更高效的算法(例如 Karatsuba)来执行某些运算,但初始实现可以使用更简单的形式。

如果你真的必须使用 std::string,你可以使用第一个字符来存储符号('+' 或 '-'),然后是 ascii 中以 10 为底的数字。它效率不高,但它可能是一种简单的入门方法,而且它确实使打印数字变得容易。

关于c++ - 在 C++ 中计算非常大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20747569/

相关文章:

python - 使用 python 的 ** 运算符和 * 运算符时进行签名

c++ 框架是或否

c++ - 解释 C++ 自相关代码

c++ - 无法从文件 C++ 中读取 double 行

c++ - 短文件名的最佳字符串哈希函数

c++ - C++中如何将输入的字符串放入字符数组?

c++ - 代码不从文件C++读取文本

java - 将字符串拆分为字符串数组

ios - 32/64 位设备上的 Objective-C 除法会产生不同的结果

math - 大O如何计算n