【发布时间】:2018-08-27 09:31:30
【问题描述】:
我正在研究如何使用 VBA 在 Excel 中实现 CRC 期间写一篇论文。 我创建了一个使用罗斯的parametrized model 的相当简单的模块化算法。 它可以完美地适用于任何长度的多项式和任何参数组合,除了一个;当输入数据的长度小于多项式的宽度和时,选择一个初始值(“INIT”),该值设置了任何“超过”输入数据长度的位。
例子:
Input Data: 0x4C
Poly: 0x1021
Xorout: 0x0000
Refin: False
Refout: False
如果我不选择任何 INIT 或任何像 0x##00 这样的 INIT,我会得到与任何在线 CRC 生成器相同的校验和。如果设置了最后两个十六进制字符的任何位 - 例如 0x0001 - 我的结果无效。
我相信问题归结为“如果两个字节的 INIT 参数只有一个字节的输入数据,那么寄存器如何初始化?”
【问题讨论】: