了解多项式除法结果
Understanding polynomial division results
我正在尝试理解(并实现函数)多项式除法。
我的第一步是了解和比较两个在线工具的结果。 first is a formal GF(2) polynomial calculator. The second 是一个 CRC 多项式计算器。我希望正式计算器的余数等于 CRC 计算器的校验和。
所以我在正式计算器中输入了以下数据:
A = 0100000101000001 (should be same as "AA" ASCII data)
B = 11111
然后我在 CRC 计算器中输入了以下内容:
CRC order = 4
CRC polynom = F
Data sequence = AA
Initial = 0, Direct, no reverse input, no reverse output
我使用了宽度 4
和多项式 F
(而不是 5
和 1F
),因为 CRC 计算器期望标准符号中的多项式省略前导 1-位.
CRC 计算器表示校验和为 2
而正式计算器表示二进制余数为 100
= 4
.
为什么我没有得到相同的结果?
您需要在被除数中添加四个零位,即01000001010000010000
。然后你会得到相同的结果。
请参阅 Ross William's CRC tutorial 了解 CRC 的计算方式。
我正在尝试理解(并实现函数)多项式除法。
我的第一步是了解和比较两个在线工具的结果。 first is a formal GF(2) polynomial calculator. The second 是一个 CRC 多项式计算器。我希望正式计算器的余数等于 CRC 计算器的校验和。
所以我在正式计算器中输入了以下数据:
A = 0100000101000001 (should be same as "AA" ASCII data)
B = 11111
然后我在 CRC 计算器中输入了以下内容:
CRC order = 4
CRC polynom = F
Data sequence = AA
Initial = 0, Direct, no reverse input, no reverse output
我使用了宽度 4
和多项式 F
(而不是 5
和 1F
),因为 CRC 计算器期望标准符号中的多项式省略前导 1-位.
CRC 计算器表示校验和为 2
而正式计算器表示二进制余数为 100
= 4
.
为什么我没有得到相同的结果?
您需要在被除数中添加四个零位,即01000001010000010000
。然后你会得到相同的结果。
请参阅 Ross William's CRC tutorial 了解 CRC 的计算方式。