CRC除数计算

发布于 2024-12-02 18:00:03 字数 427 浏览 2 评论 0原文

我试图理解 CRC,但我对如何计算“除数”感到困惑。

wikipedia 上的示例中,输入 11010011101100 时除数为 11 (1011

11010011101100 000 <--- input left shifted by 3 bits
1011               <--- divisor (4 bits) = x³+x+1
------------------
01100011101100 000 <--- result

)除数计算?在这个例子中 (x3+x+1) x 是 2? 2从哪里来?

Im trying to understand CRC and I'm getting confused as how to calculate the 'divisor'.

In the example on wikipedia the divisor is 11 (1011) for input of 11010011101100

11010011101100 000 <--- input left shifted by 3 bits
1011               <--- divisor (4 bits) = x³+x+1
------------------
01100011101100 000 <--- result

How is the divisor calculated? In this example (x³+x+1) x is 2? Where did the 2 come from?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

将军与妓 2024-12-09 18:00:03

从同一个维基百科的“CRC 数学”部分开始,“对这种除法过程的数学分析揭示了如何选择保证良好错误检测特性的除数。”这是关键。有些除数比其他除数更好,因此您只需找到一个标准除数并通常使用即可。

该页面的底部描述了所使用的一些不同的 CRC 以及定义其除数的多项式。

From the "Mathematics of CRC" section of that same wikipedia it starts "Mathematical analysis of this division-like process reveals how to pick a divisor that guarantees good error-detection properties." This is the key to it. Some divisors are better than others so you just find a standard one and use that usually.

The bottom of that page describes some of the different CRCs used and the polynomial that defines their divisors.

醉生梦死 2024-12-09 18:00:03

它写在下一句话@wikipedia:

如果最左边除数位上方的输入位为 0,则不执行任何操作。如果最左边除数位上方的输入位为 1,则除数将被异或到输入中。

这意味着:

1101 xor 1011 => 0110

It's written in the next sentence @wikipedia:

If the input bit above the leftmost divisor bit is 0, do nothing. If the input bit above the leftmost divisor bit is 1, the divisor is XORed into the input.

Which means:

1101 xor 1011 => 0110
没有伤那来痛 2024-12-09 18:00:03

二进制的除数就是其多项式的系数。 x^3 + x + 1 = 1x^3 + 0x^2 + 1x +11;读出系数得到 1 0 1 1

The divisor in binary is just the coefficients of its polynomial. x^3 + x + 1 = 1x^3 + 0x^2 + 1x +11; read off the cofficients to get 1 0 1 1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文