Decimal Conversion - 进制转换


问题

将整数 x a 进制转化为 b 进制(其中 2 \le a, b \le 32 )。

解法

(1) 模拟加法运算的过程将数字 xa = [ 8, 3, 7, 1 ]_a 转换为 y{b} = [ 8, 3, 7, 1 ]{b} ,有 y[i]{b} = x[i]{a} * a^i \mod b^i , y[i+1]{b} = y[i+1]{b} + ( x[i]{a} * a^i \div b^i ) 。

(1) 模拟减法运算的过程将数字 xa = [ 8, 3, 7, 1 ]_a 转换为 y{b} = [ 8, 3, 7, 1 ]{b} ,有 y[i]{b} = x[i]{a} * a^i \mod b^i , y[i+1]{b} = y[i+1]{b} + ( x[i]{a} * a^i \div b^i ) 。


源码

import, lang:”c_cpp”

测试

import, lang:”c_cpp”