CRC多项式的最低指数

时间:2018-11-11 20:16:51

标签: crc polynomials

我从未见过没有最低项x⁰= 1的CRC多项式。

我还没有看到任何例外吗? 为什么所有CRC多项式都具有最低项x⁰?

1 个答案:

答案 0 :(得分:2)

x n + ... + x 0 形式的CRC多项式用于位CRC(它与数据位的无借位除法一起使用由产生n位余数的CRC多项式(CRC)决定。如果CRC多项式的形式为x n + ... + x 1 (无x 0 项),则它实际上是一个n-1位CRC。

但是,在某些情况下,通用代码可能使用不同的表来快速计算32位或16位CRC,而代码主体中唯一的区别就是常量。编写代码的方式就像CRC的格式为x 32 + ... + x 0 ,但是允许大多数相同代码生成16位CRC ,则多项式的形式为x 32 + ... + x 16 。最后一步校正是将最终CRC右移16位,以将16位CRC放入适当的位。例如,在使用pclmulqdq指令(无进位乘法)的500+行fast crc32/16 assembly示例中,在这种情况下将其设置为产生16位CRC。