【发布时间】:2015-07-23 10:39:17
【问题描述】:
我想编写一个程序,它可以计算超过 2000 或 20000 位的整数(对于 Pi 的小数)。我想用 C++ 做,没有任何库! (没有大整数,提升,...)。任何人都可以提出一种方法吗?以下是我的想法:
使用
const char*,用于保存整数的数字;代表数字像
( (1 * 10 + x) * 10 + x )...
【问题讨论】:
-
我很想为每个数字使用
uint8_t。不是特别对内存友好,但会使算术运算易于处理。或者,考虑更难的二进制编码十进制 (BCD) 表示法。 -
整数 对 Pi 没有用处。为什么你不想要 lib?
-
2 ) 因为我在练习 C++ 和数学:)
-
我没说你不应该。但是如果你要问其他人你应该怎么做,你不妨看看过去是怎么做的,因为这是人们在你自己的图书馆里会给你的建议。
-
在bignums 上阅读大量论文和书籍。这是一门数学难题,而且你也有编程问题。编写一个有竞争力的 bignum 库可能需要你数十年的时间。