我曾尝试创建一个代码来计算Java中CRC错误检测/纠正的剩余部分,但我不知道它与二进制除法之间有什么区别。
何时:
dictionary
R值为:1
但是当我手动计算CRC剩余时,它将是:011
这里有什么区别,是否有任何方法或算法来计算CRC余数?
答案 0 :(得分:0)
CRC的余数是多项式除法的余数。您将被除数和除数的位视为Galois Field of two elements (called GF(2))上多项式的系数。在那个领域,加成变成排他性,或者,乘法变成了。 1 + 1是0而不是2,因为没有2,只有0和1。
如果你进行多项式除法,你应该记得从高中开始,你就会得到答案。只需要比特就可以轻松完成GF(2):
101
--------
1001 / 101110
1001
------
1010
1001
----
11
因此,我们得到商101
和余数11
。