crc效验问题,求1的crc,其多项式x8+x5+x4+1,是1后面补八个零左移和100110001异或求余吗?

1个回答

  • 我觉得那个0x51是错的,原因如下

    crc整个运算中用的是模2除法(实际上结果就等于按位的异或运算),也就是1-1=0,0-0=0,但是无论0-1或者1-0都得到1,并且不借位

    实际运用时首先在待求数据(二进制)后面补充生成多项式最高次个0,再除以生成多项式

    就本问题的过程如下,其中数据全部是二进制:

    1、在待求CRC原始数据1后面补充8个0变成100000000后,再除以生成多项式,本问题为100110001,注意其中1的位置从右向左,即为生成多项式的次数

    2、模2除法得到110001,不足原始生成多项式的8位,于是左边补0到8位得到00110001,将此数附在原始数据之后,用于检查是否能被生成多项式整除,当然,其中的除法使用的还是模2除法.显然1 00110001 除以生成多项式余数为0,于是正确