2.1.3 二、八、十六、十进制数相互转换
1.十进制数与二进制数相互转换
(1)二进制数→十进制数
将二进制数按权展开,即用位权表示法展开,而后进行相加。
【例2.5】 将二进制数101011转换为十进制数。
(101011)2=25+23+21+20=32+8+2+1=43
所以,(101011)2=(43)10。
(2)十进制数→二进制数
整数部分:除基(2)取余法,直到商为0,然后将余数倒排即可。
小数部分:乘基(2)取整法,直到乘积的小数部分为0,或小数点后的位数达到了所需的精度,然后将积的整数部分顺排即可。
【例2.6】 将十进制数108.625转换为二进制数。
所以,(108.625)10 = (1101100.101)2。
2.二进制数与八、十六进制数相互转换
因为23=8,24=16,所以二进制数可以直接对应它的八进制数和十六进制数。
(1)二进制数转换为八、十六进制数
① 二进制数→八进制数:
以小数点为基准,
整数部分:从右向左,每3位为一组,最左边不足3位时,左边添0补足3位;
小数部分:从左向右,每3位为一组,最右边不足3位时,右边添0补足3位。
然后将每组中的3位二进制数用1位八进制表示,依序排列即可得到对应的八进制数。
【例2.7】 将二进制数10101001100.1101转换为八进制数。
10101001100.1101 =010 101 001 100.110 100
= 2514.64
所以,(10101001100.1101)2=(2514 .64)8。
② 二进制数→十六进制数:
以小数点为基准,
整数部分:从右向左,每4位为一组,最左边不足4位时,左边添0补足4位;
小数部分:从左向右,每4位为一组,最右边不足4位时,右边添0补足4位。
然后将每组中的4位二进制数用1位十六进制表示,依序排列即可得到对应的十六进制数。
【例2.8】 将二进制数10101001100.1101转换为十六进制数。
10101001100.1101 = 0101 0100 1100.1101
= 54 C.D
所以,(10101001100.1101)2=(54C.D)16。
(2)八、十六进制数转换为二进制数
① 八进制数→二进制数:
将每位数码用3位二进制数码替换,然后依序排列即可。
② 十六进制数→二进制数:
将每位数码用4位二进制数码替换,然后依序排列即可。
【例2.9】 将八进制数154.42转换为二进制数,将十六进制数D31.2C转换为二进制数。
(154.42) 8 =(001 101 100.100 010)2
=(1101100.10001)2
(D31.2C)16 =(1101 0011 0001.0010 1100)2
=(110100110001.001011)2
提示:整数部分最前面的0和小数部分最后面的0均可以省略。