为什么CRC多项式是正规的,反向的,等等

  • 本文关键字:等等 CRC 多项式 crc
  • 更新时间 :
  • 英文 :


我正在学习CRC,搜索引擎和SO在这方面一无所获。。。。

为什么我们有"正态"、"反向"one_answers"倒数"多项式?有人喜欢大恩迪亚、小恩迪亚还是其他什么?

CRC的经典定义将使用非反射多项式,它将CRC向左移动。如果用于计算的字大小大于CRC,则需要在末尾执行操作以清除移位到的高位(例如,16位CRC的& 0xffff)。

你可以翻转整个东西,使用反射多项式,然后向右移动而不是向左移动。这给出了相同的CRC属性,但消息中的比特是从最低到最高有效比特有效操作的,而不是从最高到最低有效比特。由于你向右移动,多余的部分会从底部掉下来,被遗忘,不需要额外的操作。这可能是使用稍微更快、更紧凑的实现的早期动机之一。

有时,原始硬件的规范是从最低有效位到最高有效位进行处理,因此必须使用反射版本。

不,这些都不支持小endian或大endian。在小端序或大端序体系结构中,可以同样容易地计算任何一种CRC。

最新更新