CRC计算示例

时间:2011-02-14 08:38:02

标签: crc

我想确认一下我是否正确掌握了CRC计算的概念。我将提供两个例子,第一个是使用普通减法计算余数,第二个是使用这个奇怪的XOR东西。

数据位: D = 1010101010 发电机位: G = 10001。

1)计算余数的减法方法:

10101010100000
10001|||||||||
-----|||||||||
  10001|||||||
  10001|||||||
  -----|||||||
  000000100000
         10001
         -----
          1111

R = 1111。

2)XOR方法:

10101010100000
10001|||||||||
-----|||||||||
  10001|||||||
  10001|||||||
  -----|||||||
  00000010000|
        10001|
        ------
        000010

R = 0010。

3 个答案:

答案 0 :(得分:2)

最后追加1111并不满足

的需要
  

10927%17!= 0

请注意,根据定义,除法应该是模除法,因为它基于模数学。

答案 1 :(得分:1)

两个答案都是正确的。 =)

(重新检查第一个答案:
10101010100000(二进制)mod 10001(二进制)
= 10912(十进制)mod 17(十进制)
= 15(十进制)
= 1111(二进制)。)

答案 2 :(得分:-2)

错误地完成了减法。在二进制模数中,减法,加法,除法和乘法是相同的。所以,XOR是正确的。