大家都知道10进制整数转是 “乘基取整”,10进制小数转2进制是“除基取余”。可是中间的原理又是什么呢?
应为任意进制都可以转化为10进制,10进制也可以转化为任意进制,因此这里简要以 10进制与 R 进制之间的转化为例介绍一下进制转化原理。
10进制整数转 R 进制
设
(v)R=(knkn−1…k1k0)R=(x)10
则:
(v)R=knRn+kn−1Rn−1+⋯+k1R1+k0=(x)10k0=x%R (1)knRn−1+kn−1Rn−2+⋯+k1=x/R
因此,我们可以用“除基去余”分别得到 k0 和 x/R 然后再继续递归下去
10进制小数转 R 进制
设
则:
(0.k1k2…kn)R=k1R−1+k2R−2⋯+knR−n=x
两边乘 R ,得
k1 就是 xR 的整数部分。以此类推得出 ki