本文主要是介绍校验码:奇偶校验,CRC循环冗余校验,海明校验码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 奇偶校验码
- CRC循环冗余校验码
- 海明校验码
奇偶校验码
码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据检验码的码距。
奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。
奇校验:整个校验码中1的个数为奇数
偶校验:整个校验码中1的个数为偶数
奇偶校验,可检测1位(奇数位)的错误,不可纠错。
CRC循环冗余校验码
可检错,不可纠错
CRC的编码方法:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位,简便地得到r位校验位。以及如何从k+r位信息码判断是否出错。
把接受到地CRC码用约定的生成多项式G(X)去除(模二除法),如果正确,则余数为0,如果某一位出错,则余数不为0.不同地位数出错其余位数不同。余数和出错位序号之间有唯一地对应关系。
海明校验码
海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中,当某一位出错后,就会引起有关的几个校验位地值发生变化。这不但可以发现错误,还能指出错误地位置,为自动纠错提供了依据。
2K-1 >= N+K
数据位是N位,校验位是K位
校验码位数 | 校验码位置 | 检错 | 纠错 | 校验方式 | |
奇偶检验 | 1 | 一般拼接在头部 | 可检奇数位错 | 不可纠错 | 奇校验:最终1的个数是奇数个。偶校验最终1的个数是偶数个 |
CRC循环冗余校验 | 生成多项式是最高次幂决定 | 拼接在信息位的尾部 | 可检错 | 不可纠错 | 模二除法求余数,拼接作为校验位 |
海明校验码 | 2k -1 >=n +k | 插入在信息位中间 | 可检错 | 可纠错 | 分组奇偶校验 |
这篇关于校验码:奇偶校验,CRC循环冗余校验,海明校验码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!