4

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

数据位:D = 1010101010。
生成器位:G = 10001。

1)减法计算余数:

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

R = 1111。

2)异或方法:

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

R = 0010。

4

3 回答 3

2

在末尾附加 1111 并不能满足需要,因为

10927 % 17 != 0

.

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

于 2012-11-18T12:46:14.883 回答
1

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

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

于 2011-07-15T19:55:08.180 回答
-2

减法是错误的。在二进制模中,减法、加法、除法和乘法是相同的。所以,异或是正确的。

于 2014-11-12T19:26:05.963 回答