我试图理解 CRC,但我对如何计算“除数”感到困惑。
在example on wikipedia输入 11010011101100 除数为 11 (1011)
11010011101100 000 <--- input left shifted by 3 bits
1011 <--- divisor (4 bits) = x³+x+1
------------------
01100011101100 000 <--- result
如何计算除数?在这个例子中 (x³+x+1) x 是 2? 2 从何而来?
最佳答案
从同一维基百科的“CRC 数学”部分开始,“对这种类似除法的过程的数学分析揭示了如何选择一个保证良好错误检测特性的除数。”这是它的关键。有些除数比其他除数好,因此您只需找到一个标准除数并经常使用它即可。
该页面的底部描述了使用的一些不同的 CRC 以及定义它们的除数的多项式。
关于algorithm - CRC除数计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7271661/