1.2.2 进位计数制之间的转换
1.非十进制数转换为十进制数
按权展开求和:先将非十进制数的每一位系数与对应的位权相乘,再将所得乘积累加起来就可以得到该数的十进制数。
【例1-1】分别将(110.11)2、(316.04)8、(E5.C)16转换成十进制数。
解:将每一位进制数码乘以位权,然后相加,可得
(110.11)2=1×22+1×21+0×20+1×2-1+1×2-2=(6.75)10
(316.04)8=3×82+1×81+6×80+0×8-1+4×8-2=(206.0625)10
(E5.C)16=14×161+5×160+12×16-1=(229.75)10
2.十进制数转换为非十进制数
把一个带有整数和小数的十进制数转换为非十进制数时,是将整数部分和小数部分分别进行转换,然后将结果合并起来。
1)整数转换——除基取余法:除基取余,逆序排列。
2)小数转换——乘基取整法:乘基取整,顺序排列。
【例1-2】将十进制数44.375转换成二进制数。
解:如图1-5所示。

图1-5 例1-2图解
(44.375)10=(101100.011)2
整数部分采用基数连除法,先得到的余数为低位,后得到的余数为高位。小数部分采用基数连乘法,先得到的整数为高位,后得到的整数为低位。
说明:小数部分过程一直做下去,直到余下的纯小数为0或满足所要求的精度为止。
采用基数连除、连乘法,可将十进制数转换为任意的非十进制数。
3.二进制数与八进制数、十六进制数之间的转换
由于二进制数与八进制数和十六进制数之间正好满足8=23和16=24的关系,所以它们之间的相互转换是很方便的。
方法:以小数点为界,分别向左右两个方向,将二进制数按每3位(或4位)一组进行分组(不足位数的补0),然后写出每一组等值的八进制数或十六进制数。
【例1-3】将(11100101.001)2转换为八进制数和十六进制数。
解:(11100101.001)2=(011 100 101.001)2=(345.1)8
=(1110 0101.0010)2=(E5.2)16
结果:(11100101.001)2=(345.1)8=(E5.2)16
八进制数或十六进制数转换成二进制数是上述的逆过程,只需将每位八进制数或十六进制数用二进制数写出来,但整数部分高位的0和小数部分低位的0不用写出。
【例1-4】将八进制数(147.2)8转换为二进制数。
解:(147.2)8=(001 100 111.010)2=(1 100 111.01)2
【例1-5】将十六进制数4FB.CA转换成二进制数。
解:(4FB.CA)16=(0100 1111 1011.1100 1010)2=(100 1111 1011.1100 101)2
当要求将八进制数与十六进制数相互转换时,以二进制数作为中间桥梁来完成。
【例1-6】将(5A3.21)16转换为八进制数。
解:(5A3.21)16=(0101 1010 0011.0010 0001)2
=(010 110 100 011.001 000 010)2
=(2643.102)8
几种常用数制之间的转换关系见表1-3。
表1-3 几种常用数制之间的转换关系对照表

思考与练习
1.2-1 基数和位权分别表示数制的什么内容?
1.2-2 同一个数用不同进制表示时有什么不同?
1.2-3 为什么要使用二进制数制?
1.2-4 常用的数制有几种?