校验码基本知识

校验码是指能够发现或能够自动纠正错误的数据编码,也称作检错纠错码。原理是通过增加一些冗余码,来检验或纠错编码。通常某种编码有许多码字构成,任意两个合法码字之间最少变化的二进制位数,称为数据校验码的码距,如 1100 和 1101 之间的码距为 1,因为只有最低位翻转了;而 1001 和 0010 之间的码距为 3,因为只有 1 位没有变化。对于码距不小于 2 的数据校验码,开始具有检错的能力。码距越大,检错纠错的能力越强,而且检错能力总是大于等于纠错能力。

常用的校验码有奇偶校验码、海明校验码和循环冗余校验码。

奇偶校验码

定义:在被传送的 n 位代码上增加一位校验位,并使其配置后的 n+1 位代码中“1”个数为奇数,则称为奇校验;若配置后“1”的个数为偶数,则称为偶校验。

海明校验码

定义:明码是一种多重奇偶校验码,原理是在有效信息位中加入几个校验位形成海明码,并把海明码的每个二进制位分配到几个奇偶校验组中;当某一位出错后,就会引起有关的几个校验位的值发生变化,不但可以发现错位,还能指出出错的位置,为自动纠错提供依据。根据纠错理论得:L - 1 = D + C 且 D≥C,即编码最小码距 L 越大,其检测错误的位数 D 越大,纠正错误的位数 C 也越大,且纠错能力恒小于等于检错能力。

循环冗余校验码

定义:循环冗余校验码(Cycle Redundancy Check)是基于模 2 运算而建立编码规律的校验码。 ,模2 运算不考虑进位和错位,规律如下:

(1)模 2 加和模 2 减的结果是相等的,即 0±1=1,0±0=0,1±0=1,1±1=0,两个相同数模 2 和恒为 0.

(2)模2 乘是按模 2 和求部分之和。

(3)模 2 除是按模 2 减求部分余数;每求一位商应使部分余数减少一位。上商的原则是:当部分余数的首位为 1 时,上商 1;当部分余数的首位为 0 时,上商 0;当部分余数的位数小于除数的位数时,该余数即为最后余数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值