CRC校验

  假设要发送的数据是:0b10110010,其对应的多项式称为g(x);指定生成多项式为:CRC-4为h(x)=x4+x3+x2+x+1(即0b11111),数据和生成多项式二进制相除g(x)/h(x)(异或)生成的校验字段为:0b0100,那么发送的码字为0b101100100100,将其发送出去。

  接收端接收到码字后,将码字与生成多项式二进制相除(异或),如果能整除则说明接收的数据是正确的,若不能整除说明数据传输过程中出现了错误,接收的是错误的。

 异或:

二进制相除:

 

参考:

http://www.cnblogs.com/94cool/p/3559585.html

http://www.360doc.com/content/12/0324/17/110467_197300430.shtml

 

实现参考 linux内核lib下的CRC实现文件。

 

posted on 2017-07-08 12:17  Hello-World3  阅读(275)  评论(0编辑  收藏  举报

导航