1.3 码制
数字电路系统中的信息可分为两类:一类是数值,另一类是文字和符号(包括控制符)。这类信息都是用一定位数的二进制数码来表示的,这种具有一定含义的二进制数码被称为二进制代码,主要有二-十进制码、格雷码和ASCII码。二-十进制码主要分为有权码和无权码,有权码主要有8421BCD码、2421BCD码、5421BCD码,无权码主要有余3码和余3循环码。
1.3.1 二-十进制码
二-十进制码是用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码(Binary-Coded-Decimal,BCD),4位二进制数有16种不同的组合方式,即16种代码,根据不同的规则从中选出10种来表示十进制的10个数码。
8421BCD码是有权码,是用四位自然二进制数的16种组合中的前10种0000~1001来表示十进制数0~9,由高位到低位的权值为23、22、21、20,即为8、4、2、1,由此得名。
例如:十进制数5的8421BCD一定是4位二进制数0和1的组合,因为(5)10=0×8+1×4+0×2+1×1,式中权值8、4、2、1所对应的系数分别为0、1、0、1,故十进制数5的8421BCD码为0101,即(5)10=(0101)8421BCD。
例如:8421BCD码1001所对应的十进制数为9,转换关系:(1001)8421BCD=1×8+0×4+0×2+1×1=(9)10
5421BCD码也是有权码,也是选择四位自然二进制的16种组合中的某10种组合来表示十进制数0~9,由高位到低位的权值为5、4、2、1,由此得名。
例如:十进制数5,它的5421BCD一定也是4位二进制数0和1的组合,(5)10=1×5+0×4+0×2+0×1=(1000)5421BCD,而不再是0101,十进制数5~9的5421码的最高位系数,即b3均为1。
例如:5421BCD码1001所对应的十进制数为(1001)5421BCD=1×5+0×4+0×2+1×1=(6)10
2421BCD码也是有权码,它与十进制数相互转换的方法跟8421BCD码、5421BCD码一样。
余3码是无权码,即它的每1位都没有权值,但其编码可以由8421BCD码加3(0011)得出。
余3循环码也是一种无权码,它的特点是具有相邻性,即相邻两位代码之间只有1位取值不同。它也可以看成是将格雷码首尾各3种状态去掉后得到的。几种常见的BCD码如表1.3.1所示。
表1.3.1 几种常见的BCD码
(续)
1.3.2 格雷码
格雷码(Gray)也是一种常见的无权码,其编码如表1.3.2所示。它也具有相邻性,即两个相邻代码之间仅有1位取值不同,因而常用于将模拟量转换成用连续二进制数序列表示的数字量系统中。当模拟量发生微小变化而引起数字量从1位变化到相邻位时,例如,从3到4,格雷码变化是从0010到0110,只有b2位从0变成1,其余三位保持不变。如果对于自然二进制码,其变化是从0011到0100,有3位发生变化,如果b2位从0到1变化所需的时间,比b1和b0从1变到0的时间长,则在转换过程中,会产生瞬间错误数码0000出现。而格雷码可以避免错误数码的出现。
表1.3.2 格雷码
1.3.3 ASCII
计算机不仅用于处理数字,而且用于处理字母、符号等文字信息。人们通过键盘上的字母、符号和数值向计算机发送数据和指令,每一个键符可用一个二进制码来表示,ASCII即是目前国际上最通用的一种字符码。它是用7位二进制码来表示128个十进制数、英文大小写字母、控制符、运算符以及特殊符号,ASCII是常用的七位键盘编码,编码表如表1.3.3所示。从表中可知:字母K的七位ASCII是1001011。
表1.3.3 ASCII