剩下的小数部分又乘以 2,一直取到小数部分为零为止。如果永远不能为零,就同十进制
数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是 0 还是 1,取舍,如
果是零,舍掉,如果是 1,向入一位。换句话说就是 0 舍 1 入。读数要从前面的整数读到后
面的整数,
下面举例:将 0.45 转换为二进制(保留到小数点第四位)
0.45*2=0.9…0;
0.9*2=1.8…1;
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.4,那么小数部分
继续乘以 2,得 0.8,0.8 又乘以 2 的,到 1.6 这样一直乘下去,最后不可能得到小数部分为
零,因此,这个时候只好学习十进制的方法进行四舍五入了,但是二进制只有 0 和 1 两个,
于是就出现 0 舍 1 入。这个也是计算机在转换中会产生误差,但是由于保留位数很多,精
度很高,所以可以忽略不计。那么,我们可以得出结果将 0.45 转换为二进制约等于
(0.0111)2。
注:整数的转换是精确的,小数的转换可能出现无穷小数或循环小数的情况。此时
需要进行舍入处理以截断,所以小数的转换可能略有偏差。
(3)整数与小数
举例:将 168.45 转换成二进制
(168.45)=(10101000.0111)
上面介绍的方法是十进制转换为为二进制的方法,需要大家注意的是:
① 进制转换为二进制,要分成整数和小数两个部分分别转换;
② 当转换整数时,用的除 2 取余法,而转换小数时候,用的是乘 2 取整法;
③ 注意他们的读数方向。
2、二进制转换成十进制
二进制转换为十进制不分整数和小数部分
方法(按权相加法):将二进制每位上的数乘以权,然后相加之和即是十进制数。
例 1:将二进制 01100100 转换为十进制
第 0 位 0 x 2^0 = 0
第 1 位 0 x 2^1 = 0
第 2 位 1 x 2^2 = 4
第 3 位 0 x 2^3 = 0
第 4 位 0 x 2^4 = 0
第 5 位 1 x 2^5 = 32
第 6 位 1 x 2^6 = 64
第 7 位 0 x 2^7 = 0
--------------------------
(0110 0100)2=(100)10
例 2:将二进制数(11001.101)2 转换为十进制数
整数部分:1 *2^4+1*2^3+0*2^2+0*2^1+1*2^0