码迷,mamicode.com
首页 > 其他好文 > 详细

CRC校验码

时间:2021-05-24 15:27:00      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:课程   奇数   等于   冗余   接收   组成   十分   减法   理解   

CRC校验码,中文是循环冗余校验码。在计算机网络、计算机组成原理等课程中均常见,他是一种常见的计算机校验码。它的实际原理十分容易理解:简单的说,它的原理就是用一个数去除以约定好的数。如果传输前后的数据除以这个数,所得余数一样,则传输正确,反之传输错误。

先举一个十进制的例子,用81除以6,得13,余3.  81就相当于信息位,余数就相当于校验位。添加校验位的目的就是确保余数为0.(这里只是举个例子)

现在用二进制来考虑。在这里以一道例题为准:给出生成多项式G(x)=x3+x2+1  信息码为101001,求对应的CRC码。

     1)对于这道题,生成多项式最高次为3,信息码为6,那么CRC码对应为9位。

     2)G(x)=1*x3+1*x2+0*x1+1   这就意味着约定的除数为1101.已知信息码和除数,进行竖式模2除。

说明:模2除和普通的竖式除法差别不大,被除数在不足时也需要补零,但是在除得当前位的商时,以最高位为准,目的是消掉目前还剩下的被除数的最高位。此外,在减法时变成了异或计算。

101001除以1101,求得最后的余数为001,001即为校验位。

    3)接收方收到101001001后,用1101模2除,余数为000,即表示传输无误。

  如果余数不是0,比如001,那么就意味着出错位为第一位,余数002表示第二位出错。。。。。之所以成为循环冗余校验,就是因为用出错的码除以余数,会得到下一个出错码,如xxxx001除以余数变成xxx010.。。。如此往复。

 

CRC校验码可以检测出奇数个、双比特和所有小于。等于校验位长度的校验码。

CRC校验码

标签:课程   奇数   等于   冗余   接收   组成   十分   减法   理解   

原文地址:https://www.cnblogs.com/namezhyp/p/14782370.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!