数字电路与系统
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4 数制间的转换

1.4.1 任意进制转换成十进制

从1.3节可以看出,将各种进制数按权展开,就完成了向十进制数的转换。

【例1.1】将二进制数(101011.011)2转换为十进制数。

解:(101011.011)2=(1×25+1×23+1×21+1×20+1×2-2+1×2-310=(43.375)10

【例1.2】将八进制数(1047.5)8转换为十进制数。

解:(1047.5)8=(1×83+4×81+7×80+5×8-110=(551.625)10

【例1.3】将十六进制数(A6.C)16转换为十进制数。

解:(A6.C)16=(10×161+6×160+12×16-110=(166.75)10

1.4.2 十进制转换成任意进制

转换原则如下:将十进制数的整数部分除以r取余数,直到商为0,将余数逆序排列,得到r进制数的整数部分;将十进制数的小数部分乘以r,取出乘积的整数部分,剩下的小数部分继续乘以r,直到满足精度要求为止,将乘积的整数部分顺序排列获得r进制数的小数部分。

【例1.4】将十进制数45.28转换成二进制数(取4位小数)。

解:

所以(45.28)10=(101101.0100)2

【例1.5】将十进制数348.27转换成八进制数(取两位小数)。

解:

所以(348.27)10=(534.21)8

【例1.6】将十进制数4021.78转换成十六进制数(取两位小数)。

解:

所以(4021.78)10=(FB5.C7)16

1.4.3 二进制与八进制间的转换

八进制数的基数8是2的幂,即8=23,因此可用3位二进制数表示1位八进制数。将二进制数转换成八进制数时,先对二进数进行分组,以小数点为界,向左、右两侧每3位分成一组(不够3位添0),然后将每组转换为1位八进制数,按组的顺序排列得到所对应的八进制数。将八进制数转换成二进制数时,只需将每个八进制数字展开成3位二进制数字即可。

【例1.7】将二进制数(10111101.1101)2转换成八进制数。

解:(010111101.110100)2=(275.64)8

【例1.8】将八进制数(3641.256)8转换成二进制数。

解:(3641.256)8=(11110100001.01010111)2

1.4.4 二进制与十六进制间的转换

十六进制数的基数16是2的幂,即16=24,因此可用4位二进制数表示1位十六进制数。将二进制数转换成十六进制数时,以小数点为界,向左、右两侧每4位分成一组(不够4位添0),每组转换为1位十六进制数。将十六进制数转换成二进制数时,只需将每个十六进制数字展开成4位二进制数字即可。

【例1.9】将二进制数(101110110100100.1111011)2转换成十六进制数。

解:(0101110110100100.11110110)2=(5DA4.F6)16

【例1.10】将十六进制数(B2E.57)16转换成二进制数。

解:(B2E.57)16=(101100101110.01010111)2

由于八进制数和十六进制数书写比二进制数方便,而且很容易与二进制数相互转换,因此在数字电路中有时也使用八进制数或十六进制数。