内容正文:
电路的进位计数制之间的转换
第1章 数制与编码
电路的进位计数制之间的转换
1. 二进制数与十进制数之间的转换
1) 二进制数转换成十进制数——按权展开法
二进制数转换成十进制数时,只要将二进制数按式(1-3)展开,然后将各项数值按十进制数相加,便可得到等值的十进制数。 例如:
同理,若将任意进制数转换为十进制数,只需将数(N)R写成按权展开的多项式表示式,并按十进制规则进行运算, 便可求得相应的十进制数(N)10。
第1章 数制与编码
2) 十进制数转换成二进制数
① 整数转换——除2取余法。若将十进制整数(N)10转换为二进制整数(N)2,则可以写成
如果将上式两边同除以2,所得的商为
余数就是a0。
第1章 数制与编码
同理,这个商又可以写成
显然,若将上式两边再同时除以2,则所得余数是a1。重复上述过程,直到商为0,就可得二进制数的数码a0、a1、…、an-1。
第1章 数制与编码
例如,将(57)10转换为二进制数:
第1章 数制与编码
② 小数转换——乘2取整法。若将十进制小数(N)10转换为二进制小数(N)2,则可以写成
将上式两边同时乘以2, 便得到
令小数部分
则上式可写成
因此,2(N)10乘积的整数部分就是a-1。若将2(N)10乘积的小数部分F1再乘以2,则有
第1章 数制与编码
所得乘积的整数部分就是a-2。显然,重复上述过程,便可求出二进制小数的各位数码。
例如,将(0.724)10转换成二进制小数。
第1章 数制与编码
可见,小数部分乘2取整的过程,不一定能使最后乘积为0,因此转换值存在误差。通常在二进制小数的精度已达到预定的要求时,运算便可结束。
将一个带有整数和小数的十进制数转换成二进制数时,必须将整数部分和小数部分分别按除2取余法和乘2取整法进行转换,然后再将两者的转换结果合并起来即可。
同理,若将十进制数转换成任意R进制数(N)R,则整数部分转换采用除R取余法;小数部分转换采用乘R取整法。
第1章 数制与编码
2. 二进制数与八进制数、十六进制数之间的相互转换
八进制数和十六进制数的基数分别为8=23,16=24, 所以三位二进制数恰好相当一位八进制数,四位二进制数相当一位十六进制数, 它们之间的相互转换是很方便的。
二进制数转换成八进制数的方法是从小数点开始, 分别向左、向右,将二进制数按每三位一组分组(不足三位的补0),然后写出每一组等值的八进制数。
例如,求(01101111010.1011)2的等值八进制数:
第1章 数制与编码
例如,求(01101111010.1011)2的等值八进制数:
二进制 001 101 111 010 . 101 100
八进制 1 5 7 2 . 5 4
所以 (01101111010.1011)2=(1572.54) 8
二进制数转换成十六进制数的方法和二进制数与八进制数的转换相似,从小数点开始分别向左、向右将二进制数按每四位一组分组(不足四位补0),然后写出每一组等值的十六进制数。
第1章 数制与编码
例如,将(1101101011.101)转换为十六进制数:
00 11 01 10 10 11 . 10 10
3 6 B . A
所以 (1101101011.101)2=(36B.A)16
八进制数、十六进制数转换为二进制数的方法可以采用与前面相反的步骤,即只要按原来顺序将每一位八进制数(或十六进制数)用相应的三位(或四位)二进制数代替即可。
例如,分别求出(375.46)8、(678.A5)16的等值二进制数:
八进制 3 7 5 . 4 6
十六进制 6 7 8 . A 5
二进制 011 111 101 . 100 110
二进制 0110 0111 1000.1010 0101
所以 (375.46)8=(011111101.100110)2, (678.A5)16=(011001111000.10100101)2
第1章 数制与编码
1.2 编 码
1.2.1 二—十进制编码(BCD码)