(文本表示的)整数的任意基本转换算法

时间:2012-04-23 15:12:17

标签: algorithm math pseudocode

我正在寻找一种通用算法,它可以将一个(任意)数字基数转换为另一个(也是任意的),而无需将结果存储在一个大整数中,并在其间执行算术运算。

我正在寻找的算法在给定的基础中获取一个数值数组(主要是一串字符)并返回结果。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我会说这是不可能的。对于某些基数,可以通过流式将字符转换为另一个字符串(例如,如果一个碱基是另一个碱基的倍数,如八进制 - >十六进制),但是如果没有算术运算,它是不可能的。

如果你在之间使用字符串/字符,它仍然是大整数算术,但你的整数只是一个(不必要的大)异常格式。

所以你只需要选择:用char编码的数字重新编程算术运算,或者执行步骤并使用大整数库并走转换(char(base1-> bigInt),转换(bigInt-> base2)path。

答案 1 :(得分:0)

这是可计算的,但它并不漂亮。

说真的,包含许多bignum库中的一个或编写自己的库可能更容易,更快。