适用范围:
- 任意进制之间的转化
- 适用于小数部分的转换
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为出口