【发布时间】:2012-06-12 21:17:42
【问题描述】:
考虑一种情况,其中需要以下功能:
convert(val1, base1, base2)
它将数字 (val1) 从 base1 数字系统转换为 base2 数字系统。在这个函数中,所有参数都是字符串,例如
convert("34", "012345", "01234567890ABCDEF")
被调用以转换 346 -> X16。
当我开始考虑实现时,很明显将具有较大基数的数字转换为较小的数字需要为较大基数的数字定义除法运算,例如1210 -> X2 = 12 / 2 | 6 / 2 | 3 / 2 | 1 / 2 | = 11002.
接下来是关于进行两步转换 Xb1 -> X10 -> Xb2。这肯定更容易实现,但是伙计们,你能确认我之前的结论没有错吗,或者有没有明确的方法来实现这样的convert() 函数而无需中间到十进制转换?
谢谢!
【问题讨论】:
-
你在这里选择什么编程语言?