为什么要使用更高的基数来实现BigInt?

que*_*ons 2 c c++ biginteger

我正在尝试实现BigInt并阅读了一些关于它的线程和文章,其中大多数建议使用更高的基数(256或2 ^ 32甚至2 ^ 64).

为什么更高的基数有利于此目的?

我有的其他问题是我应该如何将字符串转换为更高的基数(> 16).我读过没有标准的方法,除了base64.最后一个问题,我如何使用这些更高的基础.一些例子会很棒.

Sti*_*sis 8

用于乘以或添加适合寄存器的数字的CPU周期往往是相同的.因此,通过使用整个寄存器,您将获得最少的迭代次数和最佳性能.也就是说,在32位架构上,使基本单元为32位,在64位架构上,使其为64位.否则 - 比方说,如果你只填满32位寄存器的8位 - 你就是在浪费周期.