|  RSS订阅  |  加入收藏

[软考]计算机系统基础——校验码

校验码的作用是为了检测传输的数据哪些出错并纠正相应的错误。
摘要

一、码距的概念

一个编码系统的码距就是整个编码系统中任意两个码字的最小距离。若一个编码系统有四种编码分别为:0000,0011,1100,1111,此编码系统中0000与1111的码距为4;0000与0011的码距为2,是此编码系统的最小码距。因此该系统的码距为2。

1、在一个码组内为了检测e个误码,要求最小码距应该满足:d>=e+1

2、在一个码组内为了纠正t个误码,要求最小码距应该满足:d>=2t+1

3、在一个码组内同时纠错检错,要求最小码距应该满足:d>=e+t+1


例:假如现在要对A、B两个字母进行编码。可以选用不同长度的编码,以产生不同码距的编码,分析它们的检错纠错能力。

1、若用1位长度的二进制编码。A=1,B=0。这样A、B之间的最小码距为1。合法码:{0,1};非法码:{0,1};

2、若采用2位长度的二进制编码,可选用11,00作为合法编码,也可以选用01,10作为合法编码。若A=11,B=00为例,A、B之间最小码距为2.合法码:{11,00};非法码:{01,10}。

3、若用3位长度的二进制编码,可选用111,000作为合法编码。A、B之间最小码距为3。合法码:{111,000};非法码:{001,010,011,100,101,110}。


二、奇偶校验

只能检测代码中奇数位出错的编码,但不能发现偶数位出错的情况。


三、海明码

海明码的校验码的位置必须是2ⁿ位置(n从0开始,代表从左边数起分别是第1、2、4、8、16、32....),信息码也就是在非2n位置。

设数据位是n位,校验位是k位,则n和k必须满足一下关系:2k≥n+k+1


四、循环冗余校验码CRC


如文章有用,点下广告吧
  软考    
转载请注明出处,未经许可禁止商用!
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!