将任意大数转换为256

我有一些非常大的长度可能高达50位数。 我把它作为字符串输入。 但是,我需要对它执行操作。 所以,我需要将它们转换为适当的基础,比方说256。

这样做的最佳算法是什么?

多精度算术(又名bignums )是一个难题,好的算法不直观(有关于此的书籍)。

存在几个处理bignums的库,例如GMP库 (以及其他库 )。 并且他们中的大多数都从一些硬件指令中获利(例如,添加随身携带)以及经过仔细调整的小块汇编程序代码。 因此,它们的性能优于您几个月内可编码的性能。

我强烈建议使用现有的bignum库。 如果你希望它具有竞争力,那么写你自己就会花费你多年的工作。

另见这个问题的答案。