一、十进制小数转化为二进制小数
十进制小数转换为二进制小数采用的方法:乘 2 取整,顺序排列
具体做法:
- 用 2 乘十进制小数,可以得到成积,
- 将乘积的整数部分取出,再用剩余的小数部分乘 2,可以得到一个积。
- 将乘积的整数部分取出,再用剩余的小数部分乘 2,可以得到一个积。
- .........
按照这个步骤重复多次,直到乘积中的小数部分为 0。
此时0 或 1为2进制的最后一位。或是达到要求的精度为止。
然后将取出的整数部分顺序排列起来,先取出来的整数作为二进制的高位有效位,后取的整数作为低位的有效位(顺序提取,自上而下)
实例1:
0.1875 = (0.0011)B
0.1875* 2 = 0.375 _______ 取出整数部分 0;
0.375 * 2 = 0.75 ————— 取出整数部分 0;
0.75 * 2 = 1.5 —————— 取出整数部分 1;
0.5 * 2 = 1.0 —————— 取出整数部分 1;
顺序取出,所以最后结果为 0.0011...
实例2:
0.2 = (0.00110011)B
0.2 * 2 = 0.4 ——————— 取出整数部分 0;
0.4 * 2 = 0.8 ——————— 取出整数部分 0;
0.8 * 2 = 1.6 ——————— 取出整数部分 1;
0.6 * 2 = 1.2 ——————— 取出整数部分 1;
0.2 * 2 = 0.4 ——————— 取出整数部分 0;
0.4 * 2 = 0.8 ——————— 取出整数部分 0;
0.8 * 2 = 1.6 ——————— 取出整数部分 1;
.............
顺序取出,所以最后结果为 0.00110011
二、二进制小数转换成十进制
二进制转换成十进制的基本做法是:将二进制数首先写成加权系数展开式,然后按十进制加法规则求和,按权相加。
实例1:
(1101.01)B 转换成十进制的小数
1*(2^3) + 1*(2^2) + 0*(2^1) + 1*(2^0) + 0*(2^ -1) + 1*(2^ -2)
= 8 + 4 + 0 +1 + 0 + 0.25
= 13.25
实例2:
(1.101)B转换成十进制小数
1*(2^0) + 1*(2^ -1) + 0*(2^ -2) + 1*(2^ -3)
= 1 + 0.5 + 0.125
= 1.625
三、十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换,然后再合并。
十进制整数转换为二进制整数采用 除2取余,倒序排列 的方式。
具体方法:
- 十进制整数除以 2 ,可以得到一个商和余数;
- 再用 2除商,又可以得到一个商和余数;
- ……
重复运算,直到商为 0 为止,然后再把得到的余数作为二进制的低位有效,得到的余数作为二进制的高位有效位,依次排列起来。