购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 码制

数码不仅可以表示数量的大小,还可以表示不同的事物或状态。例如,邮政编码、电话号码、运动员编号、身份证号码、学生学号、房间号、汽车牌号等。在数字系统中,表示不同事物的二进制数码称为代码。用一定位数的二进制代码来表示十进制数码、字母、符号等信息称为编码。为了便于记忆和查找,在编制代码时总要遵循一定的规则,这些规则就称为码制。常用的编码有二-十进制编码(也称BCD码)、可靠性编码(格雷码、奇偶校验码等)、字符编码(ASCII码)等。考虑到信息交换的需要,通常会制定一些共同使用的通用代码。例如,目前国际上通用的美国信息交换标准码(ASCII码,即字符编码)。

1.4.1 二-十进制编码(BCD码)

用4位二进制数码来表示1位十进制数(0~9)的方法,称为二进制编码的十进制数(Binary-Coded-Decimal),简称二-十进制码或BCD码。由于4位二进制编码可以产生2 4 =16种组合,而一位十进制数只需用到其中的10种组合,因此用4位二进制数表示1位十进制数,有6种组合不用,是多余的,称为禁用码或伪码。BCD码有多种方案。表1-5所示为几种常用的BCD码。

表1-5 常用BCD码

BCD码可以分为有权码和无权码。所谓有权码,每位二进制数都有确定的位权值,常用的有权码有8421码、2421码、5421码。8421码的位权从高位到低位分别是2 3 =8、2 2 =4、2 1 =2、2 0 =1,因此而得名。8421码和二进制数的位权值一致,它取了4位自然二进制数的前10种组合,即0000~1001,有时也称为自然权码,是有权码中最简单、最常用的一种编码。

2421 BCD码从高位到低位的位权分别是2、4、2、1。最高位只改变1次,若以最高位0和1之间的交界为轴,则0和9、1和8、2和7、3和6、4和5分别互为反码,具有对9互补的特点,称为具有自补性,这对于求取补码是很方便的,在数字系统中很有用。

5421 BCD码也是有权码,代码中从高位到低位的位权依次为5、4、2、1。

余3码为无权码,它的每一位没有固定的权值。它是由8421 BCD码加上十进制数3(0011)形成的,所以叫余3码。余3码具有自补性,用余3码进行加减运算比8421 BCD码方便。

对于有权BCD码,可以根据按权展开式求得所代表的十进制数。例如:

[0111] 8421 =0×8+1×4+1×2+1×1=(7) D

[1101] 2421 =1×2+1×4+0×2+1×1=(7) D

在BCD码中,一位十进制数要用4位二进制代码来表示。当需要表示多位十进制数时,则需要对每一位十进制数进行编码。用BCD码来表示十进制数,只要BCD码以小数点为起点向左、右每四位分成一组,再写出每一组代码代表的十进制数,并保持原排序即可。例如:

例1-10 】将十进制数83分别用8421码、2421码和余3码表示。

:由表1-5可得

(83) 10 =(1000 0011) 8421 =(1110 0011) 2421 =(1011 0110) 余3

1.4.2 可靠性编码

代码在产生及传送的过程中难免发生错误,为减少错误的发生,或者在出错时能迅速地发现或纠正,甚至能查出错误的位置,除了要提高计算机本身的可靠性外,人们还广泛地采用了可靠性编码。目前,常用的可靠性编码有格雷(Gray)码和奇偶校验码。

1.格雷码

格雷码是一种无权循环码,其特点是相邻的两个代码(包括首、尾两个代码)仅有一位不同。另外,格雷码还具有反射特性,为镜像码。 n 位格雷码的前、后2 n -1 位码字除首位不同(前2 n -1 位码字首位为0,后2 n -1 位码字首位为1),后面各位互为镜像,即以最高位的0和1之间的交界为反射对称轴,上、下对称位置的其余位是相同的。利用这一特点,可以方便地构成位数不同的格雷码,如图1-9所示。这个特点使它在代码的形成与传输时引起的误差比较小。因此,按这种码型接成计数器时,每次状态转换过程中只有一个触发器翻转,译码时不会发生竞争-冒险现象。

格雷码常用于模拟量的转换中。当模拟量发生微小变化而可能引起数字量发生变化时,格雷码仅改变1位,这样与其他码同时改变两位或多位的情况相比更为可靠,可减少出错的可能性,因此在通信和测量中得到了广泛的应用。

2.奇偶校验码

二进制信息在传送时,可能因外界干扰或其他原因而发生错误,代码在传输过程中可能会发生“0”错成“1”,或者“1”错成“0”的差错,奇偶校验码(Parity Check Code)是一种具有检错能力、可以检测代码在传送过程中是否出现一位错误的可靠性编码。奇偶校验码由两部分组成:一部分是信息位,即需要传递的信息本身,可以是位数不限的任何一种二进制码;另一部分是奇偶校验位,仅有一位,可以添加在信息位的前面或后面。在编码时,需根据信息位中1的个数决定添加的奇偶校验位是1还是0。一般有下列两种方式:“奇校验”时,使信息位和校验位所组成的每组代码中含有奇数个1;“偶校验”时,使信息位和校验位所组成的每组代码中含有偶数个1。通常采用奇校验,因为它排除了全0的情况。由4位信息位及1位奇偶校验位构成的5位奇偶校验码见表1-6。

图1-9 格雷码

表1-6 十进制数码的奇偶校验码

这种编码的特点是每一个代码中含有1的个数总是奇(偶)数个。这样,一旦某代码在传送过程中出现1的个数不是奇(偶)数时,就会被发现。例如,当采用偶校验时,若收到的代码中含有奇数个1,则说明发生了错误。但判断出错后,并不能确定是哪一位出错,也就无法纠正。因此,奇偶检验码只有检错能力,没有纠错能力。其次,奇偶校验码只能发现单个错误,不能发现双错(即两位同时出错的情况)。但由于数据传送中出现单错的概率远远高于双错,因此,奇偶校验码还是很有实用价值的。加之它编码简单、容易实现,因而在数字系统中被广泛采用。

1.4.3 字符编码(ASCII码)

字符编码(ASCII码)即美国信息交换标准码(American Standard Code for Information In terchange),是由美国国家标准学会(American National Standard Institute,ANSI)制定的一种常用的字符编码。它已被国际标准化组织(International Organization for Standardization,ISO)确定为国际标准。ASCII码用7位二进制数表示2 7 =128种不同的字符,可以表示大小写英文字母、十进制数、标点符号、运算符号、控制符号等,普遍用于计算机的键盘指令输入和数据等。具体见表1-7。

表1-7 美国信息交换标准码(ASCII码)表

思考与练习

1.4-1 什么叫编码,数字电路系统中为什么要使用编码?

1.4-2 主要的编码方式有几种?

1.4-3 格雷码具有什么优点,用于什么场合?格雷码的特点是什么?为什么说它是可靠性代码?

1.4-4 什么是ASCII码?试说明它的用途。 GS/XjgGLt5JZwoWSy5SXF2VEqs1gQg9cx/y9kibdtpK37LgWrN7WTnEJSJ64YqMH

点击中间区域
呼出菜单
上一章
目录
下一章
×