目录
码制定义
码制
:即用数字技术来处理和传输的以二进制形式表示数字、字母或特殊符号的系统。
数字系统中经常使用的码制有:
- 二-十进制
- 格雷码
- 误差检验码
- 纠错码
- 字符、数字代码
我们就开始对这些码制进行逐一讲解:
二-十进制码(BCD)
BCD (Binary Coded Decimal)码是一种至少用四位二进制编码表示一位十进制数的代码。BCD码仅表示十进制数的十个数码,即0~9,所以有些码是禁用码。
BCD码的特点:
- BCD 码是用二进制码表示十进制0-9这十个状态 ;
- BCD码是一种人为选定的代码,有许多种编码方案:
- 有些BCD码为恒权码,如:8421、2421、5421码等;
- 有些BCD码为变权码,如:余3码、余3循环码等。
接下来,我们就来简单的介绍一下这些BCD码:
8421-BCD 码
- 8421-BCD的各位码有固定的权,具有这种特性的编码为有权码;
- 8421-BCD的位权是按2的次幂设置的,和自然二进制码一致,故常称其为自然BCD码,且应用最为广泛;
-
8421-BCD与自然二进制码的区别是,1010-1111这 6个编码在8421-BCD码中为
禁用码
; - n位十进制数的BCD码由这n组BCD码构成。
2421-BCD 码
- 2421-BCD的各位码也有固定的权,因而也是一种有权码;
- 2421-BCD的位权分别是:2、4、2、1,且其前0-4的编码与8421-BCD码相同;
-
2421-BCD的0和9、1和8、2和7、3和6、4和5互为反码,即具有
反射特性
。这样不仅方便记忆,而且做加法时,若两数之和为10,其和正好等于二进制数的16,于是便能从高位自动产生进位信号。
余3码
- 余3码的各位码没有固定的权,其代码中每一位的1所代表的十进制数在各个代码中不是固定的,具有这种特性的编码为无权码或变权码;
- 余3码与8421-BCD码之间的关系为: 余3码=8421-BCD +“0011”,相当于8421加三,所以余3因此而来。
-
余3码的0和9、1和8、2和7、3和6、4和5也互为反码,即也具有
反射特性
,这样不仅利于对10求补(具有自补特性),而且做加法时,若两数之和为10,其和正好等于二进制数的16,于是也会从高位自动产生进位信号。
余3循环码
- 余3循环码也是一种无权码(或变权码);
-
余3循环码的最重要特点是其相邻的两个代码之间仅有一位码元的状态不同,即具有循环特性,这是一种
错误最小化代码
,在工程设计中引入可使设计的电路工作更加稳定; -
余3循环码的编码取自4位典型
格雷码
的3-12这10 个代码,此乃“余3”之意;循环的意思是它最后一位与第一位也只有一位之差,所以为循环码。
格雷码在下面进行讲解;
格雷码
这是数电书上的格雷码与二进制代码的表,可以看到3~12其实就是余三循环码,我们接下来对格雷码进行讲解。
-
格雷码是一种
无权码
,其特点是任意两个相邻码组之间只有一位码元不同。典型的n位格雷码中,0和最大数( 2n-1 )之间也只有一位码元不同。因此它是一种
循环码
。 -
与普通二进制码相比,格雷码在传输过程中引起的误差较小,因为相邻码组中仅有一位码元不同,这样可减小逻辑上的差错,避免可能存在的瞬间模糊状态,所以它是
错误最小化代码
。
接下来我们来介绍一下常用的几种格雷码:
特点
:
- 任何两个相邻的十进制数的格雷码仅有一位不同,这样可大大减小代码变化时出现的错误概率;
- 典型格雷码与8421-BCD码关系简单,即: Gi = Bi+1 ⊕ Bi(可以理解为,从后往前,依次取8421-BCD码的两位,进行异或运算,得到典型格雷码的后3位)
- 修改格雷码与典型格雷码隔开3位(余3)
- 修改格雷码、格雷码1具有镜面反射特性,所以又称反射码
- 典型格雷码与格雷码2只是最后一个码不一样,其余一样
检错码和纠错码
误差检验码
由于存在干扰,二进制信息在传输过程中会出现错误。为发现并纠正错误,提高数字设备的抗干扰能力,必须使代码具有发现错误并纠正的能力,这种代码称为误差检验码。
最常用的误差检验码为
奇偶校验码
。它的编码方法是在信息码组外增加一位监督码元,增加监督码元后,使得整个码组中“1”码元的数目为奇数或为偶数。若为奇数,称为
奇校验码
;若为偶数,称为
偶校验码
。
特点:
- 奇偶校验码可以检测单向单错。
- 奇偶校验码中,信息码和校验码是可以分离的,故称为可分离码。
- 无需任何附加电路可以从收到的奇偶校验码中取得信息码,从而简化了译码过程。
- 但是奇偶校验只能识别一位错误,并且无纠错能力。
误差纠错码
我们一般采用的误差纠错码是汉明码,具体介绍如下所示:
汉明距离——汉明距离是指两个等长字符串对应位置的字符不同的个数,即将一个字符串变换成另外一个字符所需要替换的字符个数。
汉明码——汉明码是一个在原有数据中插入若干校验码来进行错误检查和纠正的编码技术。
字符-数字代码
ASCII相信大家都挺熟的,是C语言的编码方式,在此就不做过多介绍:
- 字符、数字代码用来表示文字、符号和数码。它们是一种特殊的二进制代码,被广泛应用于计算机和数字通讯中。
- 常见的有EBCDIC和ASCII码。其中ASCII码是美国信息交换标准码。ASCII码一般为八位码,其中第八位是奇偶校验位,其它7位表示信息
好了,码制这一章就先介绍到这里啦!