我遇到了一个有趣的数学问题,需要我对超过 2 81位的数字进行一些算术运算。我知道不可能用一个每个数字都有一个存储单元的系统来表示这么大的数字,但我想知道是否有任何方法可以解决这个问题。
我最初的想法是使用一个非常大的基数而不是基数 10(十进制)。经过一番思考,我相信(但无法验证)最佳基数将是位数的平方根(因此对于具有 2 81位数字的数字,您将使用基数 2 40 ish),这是一种改进,但是不能很好地扩展,仍然不是很实用。
那么我有什么选择呢?我知道许多任意精度库,但是有没有支持这种算术的规模?
谢谢o7
编辑:在思考了更多之后,我意识到我可能完全错误地认为“最佳基数将是位数的平方根”,但是 a)这就是我问的原因,b)我太累了,不记得我最初的假设推理。
编辑 2:以 10 为基数的 1000,000 = 以 16 为基数的 F4240 = 以 8 为基数的 364110。在以 16 为基数的情况下,您需要 20 位来存储以 8 为基数的数字,您需要 21,因此看起来通过增加基数可以降低总数需要的位数。(同样这可能是错误的)