CRC(循环冗余校验算)算法原理解析

本文详细解析了CRC(循环冗余校验)算法的原理,通过实例展示了如何进行多项式除法得到CRC值。同时,针对计算结果与软件不一致的情况,解释了调换高低位的原因,并介绍了查表算法的实现方式,包括如何生成CRC表及使用表进行计算的过程。
摘要由CSDN通过智能技术生成

曾在网上找了很多资料,但一些细节都没有说,导致自己计算结果和一些CRC软件计算结果不一样。于是用了2天的时间,研究了以下CRC,在此记录以下。希望能给对此有疑惑的朋友一些帮助,如有问题可以提出,我会给我我的理解。

 


原理:将二进制串和CRC生成多项式做多项式除法操作,最后得到的余数就是该串的CRC值.除法过程中余数是采用异或运算的结果.举例如下:
CRC生成多项式:10011(生成多项式首项和末尾项必须为1,规定为这样,别问为什么)
目标串:1010100110101000111111011
除法过程:
      1010100110101000111111011
异或10011
       ----------
      0011000110101000111111011
异或  10011
    ----------
    01011110101000111111011
   异或10011
     ----------
     0010010101000111111011
       10011
       ----------
       00001101000111111011
           10011
     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值