计算CRC示例

时间:2012-10-05 06:18:24

标签: math crc

有人可以告诉我计算此CRC代码的步骤吗? 生成多项式G(x)= 10 数据:110 附加crc的消息:110

当数据除以G(x)时,余数为0.那么这是否意味着CRC为0或者什么都没有或甚至可能?

1 个答案:

答案 0 :(得分:1)

该分工的方式几乎与学校相同:

10|110
   10  (xor)
------
   010
    10  (xor)
-------
     0 <- remainder

唯一的区别是人们必须只检查每行的msb 因为除数适合于部分余数:
附加的消息是1100

要检查crc,可以再次执行除法:

10|1100
   10    (xor)
-------
    100
    10   (xor)
--------
     00
     10  (no xor)
-------
      0  <-- remainder is 0, so the message is valid

虽然有一些可疑的东西:通常 crc 多项式有一个项+1,如果最高阶项是x ^ 2(例如)那么完全多项式有3个项,其中只有2个是传统上明确宣布。 那么只有你的多项式实际上是x ^ 2 + 1并且它将以相反的顺序表示为1 + 0 * x(+ 1 * x ^ 2项省略)然后余数将是两位

101|110
    101
--------
     11  <-- final remainder; concatenated message = 11011

checking message integrity:

101|11011
    101
 --------
     1111
     101
  --------
      101
      101
  --------
       00 <-- checked!