适用范围:

  • 任意进制之间的转化
  • 适用于小数部分的转换

1. 直观理解

1. 实例

以十进制数0.125转二进制数0.001为例:

  • 以反向思维思考,既然化整数是往右移,那么化小数就往左移
  • 先假设有所求二进制数
  • 然后0.125* 2得到0.250,那么等式原则,所求二进制数也乘以2,整体往左移
    • 如果小数从左往右数第一位为1,则肯定出现整数,反之则没有整数
    • 那么0.250表示二进制小数第一位为0
  • 取上次右移后数值的小数部分0.250继续乘以基数2: 0.250* 2= 0.500,也没出现整数,那么二进制小数第二位为0
  • 0.500* 2= 1.000,出现整数,那么二进制小数第三位为1
  • 这时小数部分为0,则第三位后都是0
    故得到二进制小数0.001

2. 原理

假设有转换后的进制数,然后左移,则第一位就移动到整数位,再取小数再左移,第二位就也到了整数位。

2. 方法

  • 将被转换数乘目标进制数,取整数作第一位
  • 再取小数乘目标进制数,取整数作第二位
  • …以此循环,以小数部分等于0为出口