校验码

Posted lemonq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了校验码相关的知识,希望对你有一定的参考价值。

校验码在内存和通信的检错容错中应用广泛。

常用的校验码有奇偶校验码(Parity)、海明校验码和循环冗余校验码(CRC)

奇数偶数用异或操作即可计数实现。

奇偶校验码是对每个byte (8 bits) 加一位校验码,此时根据所采用的的是奇校验还是偶校验来确定校验码的值,使之这个序列中的1的个数为奇数/偶数。

优点:高效,快;

缺点:能反映错误但是无法定位错误,只能说错了就重传

海明码则是多重奇偶校验,它的做法是假设N位的数据,我们采用多位校验码,假设K位,加入了这K位校验码之后,我们能够用校验码的组合唯一地(一一对应地)反映N+K位的错误,所以 2^K-1>=N+K.

校验码的值采用分配的相关数据位之间异或加奇/偶校验获得。

而且得到的K位校验码的位置也是插入在2^K位,至此,获得海明码序列。

判断错误位置,则是采用分配的相关数据位和校验位之间异或加奇/偶校验获得,其bin2des的值就是发生错误的位数。

https://blog.csdn.net/u012532559/article/details/45307329

CRC

http://www.manongjc.com/article/947.html

https://blog.51cto.com/winda/1063951

 

以上是关于校验码的主要内容,如果未能解决你的问题,请参考以下文章

校验码

奇偶校验码与循环冗余校验码CRC

汉明码是如何校验的,比如一道题:设数据为01101001,试采用4个校验位求其偶校验方式的汉明码

校验码(海明码)

常用校验码及示例

奇偶效验码和海明码