以十进制0.75为例,要转r进制,首先是可以表示成这种形式的。
那么第一位a就是0.75最多包含几个r^-1的问题,也就是0.75 >= a / r,移动一下 r 到等式左边,就是0.75 * r >= a,这个不等式象征着乘基取整操作,那么a=1(r=2时)。接下来对于第二位b,
也即:
两边同乘r,
我们可以惊喜的发现,0.75*r-a,就是算第一位时剩下的余数。那么对这个余数进行乘基取整的操作结果,就是第二位b。
以此类推,第三位,第四位……都可以用乘基取余方法得出
以十进制0.75为例,要转r进制,首先是可以表示成这种形式的。
那么第一位a就是0.75最多包含几个r^-1的问题,也就是0.75 >= a / r,移动一下 r 到等式左边,就是0.75 * r >= a,这个不等式象征着乘基取整操作,那么a=1(r=2时)。接下来对于第二位b,
也即:
两边同乘r,
我们可以惊喜的发现,0.75*r-a,就是算第一位时剩下的余数。那么对这个余数进行乘基取整的操作结果,就是第二位b。
以此类推,第三位,第四位……都可以用乘基取余方法得出