gpt4 book ai didi

crc - 为什么 CRC 多项式被指定为正态、反转等?

转载 作者:行者123 更新时间:2023-12-04 16:37:30 29 4
gpt4 key购买 nike

我正在学习 CRC,搜索引擎和 SO 对此一无所知......

为什么我们有“正态”、“逆向”和“倒数”多项式?是喜欢 Big Endian、Little Endian 还是其他什么?

最佳答案

CRC 的经典定义将使用非反射多项式,它将 CRC 左移。如果用于计算的字长大于 CRC,那么您需要在最后执行一个操作来清除移入的高位(例如 & 0xffff 用于 16 位 CRC)。

您可以翻转整个事物,使用反射多项式,然后向右移动而不是向左移动。这给出了相同的 CRC 属性,但消息中的位是从最低到最高有效位,而不是最高到最低有效位进行有效操作。由于您正在右移,多余的位会从底部掉落到被遗忘的地方,并且不需要额外的操作。这可能是使用稍微快一点和更紧凑的实现的早期动机之一。

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

不,这些都不支持小端或大端。两种 CRC 都可以在小端或大端架构中轻松计算。

关于crc - 为什么 CRC 多项式被指定为正态、反转等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41878655/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com