码制 || BCD码 || 格雷码 || 奇偶校验码 || 字母数字码
1 二—十进制码(BCD)
你好,我们已经知道,数字系统一般采用二进制进行运算,但人们习惯采用十进制数进行读写,因此需要对十进制数进行二进制编码,从而提供与二进制系统的接口。这种编码叫做二-十进制码,或者BCD码(Binary Coded Decimal)。
常见的几种BCD码为:8421码、54221码、2421码、余三码。
前面的 8421码、5421码、2421码是有权码,8421、5421、2421即为相应系数的权值。
余三码是无权码,它是在8421码的基础上加上二进制数0011得到的。
下面是各种BCD码对应十进制数的表格,根据规律熟记即可。( 这里务必一个一个的看一遍,不然可能会出现小问题,比如,对于2421码,用谁表示7 ?是1101?还是0111?)
用BCD码表示十进制数,只要用对应的4位码代替每个十进制数字即可。下面有几个例子。
2 格雷码(Gray码)
前面学习了BCD码,现在来看一下其它编码。
格雷码位无权码,特点为:相邻两个代码之间仅有一位不同,其余各位均相同。
下图展示了从0到9的各位格雷码,可以看出他们确实相邻两个代码之间仅有一位不同。
下图说明了二进制码与格雷码的转换关系,
3 奇偶校验码和字符数字码
除了数字以外,数字系统还需要处理字母、标点符号,控制命令等。我们把这种表示数字、字母和其它控制符号的编码叫做字母数字码。
在字母数字码中,最常见的是ASCII码,通常用在计算机和其它电子设备上。当你在计算机键盘上输入一个数字、字母或者控制命令时,键盘内的数字电路或者微处理器会产生相应的ASCII码送到计算机。ASCII码是7位二进制码,有128种组合。,表示128个符号。下面是几个例子。
ASCII码也可以表示为8位,最高位为0。方便起见,可以用16进制表示,范围从00到7F。
如果把8位的最高位用1表示,则又可以表示另外的128个符号,把这种编码叫做扩展ASCII码,用十六进制表示十,范围从80到FF,可以用来表示希腊字母、数学符号等。
在数字系统中,经常要进行二进制信息的传输和存取。在信息的传输或者存取过程中,会由于受到某种干扰而发生错误。因此需要对接收到的信息或者读取的信息进行检错或者纠错,从而出现了检错编码和纠错编码。
3.1 奇偶校验码
奇偶校验码是一种简单的检错编码。
它是在原码组的基础上增加一个比特,使码组中含1的个数为偶数或者奇数。
如果使码组中含1的个数为偶数,则称为偶校验;如果使码组中含1的个数为奇数,则称为奇校验。
在一个给定的系统中,要么采用偶校验,要么采用奇校验。不能两者整体使用。
我们以8421BCD码的偶校验为例来说明偶校验是怎么工作的,如下表所示,第一个码组0000,由于含1的个数为0,因此增加的偶校验位为0,使总的含1个数为偶数,第二个第三个...依此类推。
在接收端,检测偶校验码码组中1的个数,如果1的个数为偶数,表示传输没有错误;如果1的个数为奇数,则表示传输出现了错误。
注意,奇偶校验不能检测两位同时出错的情形。因此奇偶校验码仅适用于传输出错率很低,而且成对出现错误的概率几乎为零的情况。
这部分到这里就结束了。
参考视频链接:第一单元 数字逻辑基础-第二讲 码制-视频3