我想确认一下我是否正确掌握了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。
答案 0 :(得分:2)
最后追加1111并不满足
的需要10927%17!= 0
请注意,根据定义,除法应该是模除法,因为它基于模数学。
答案 1 :(得分:1)
两个答案都是正确的。 =)
(重新检查第一个答案:
10101010100000(二进制)mod 10001(二进制)
= 10912(十进制)mod 17(十进制)
= 15(十进制)
= 1111(二进制)。)
答案 2 :(得分:-2)
错误地完成了减法。在二进制模数中,减法,加法,除法和乘法是相同的。所以,XOR是正确的。