我知道如何编码和解码CRC。例如,给定要编码的二进制消息是11010011101100,生成器多项式是1011
然后结果是:
11010011101100 000 <--- input left padded by 3 bits
`1011` <--- divisor
01100011101100 000 <--- result
1011 <--- divisor ...
00111011101100 000
1011
...
-----------------
00000000000000 100 <---remainder (3 bits)
并对其进行解码,您使用相同的技术,但将3个零替换为余数(100)
然而有没有办法使用相同的方法使用正常的自然数编码和解码crc代码而不将它们转换为二进制?
我尝试做一些研究但是,我找不到使用自然数来做任何方法或例子我似乎只找到二进制例子。请帮忙吗?
答案 0 :(得分:2)
这是完全相同的算法。你 使用自然数字。他们写作的方式并不重要。 “向左移三位”相当于“乘以8”。 “向右移一位”相当于“除以二,丢弃余数”。 “取最后三位”相当于“将剩余部分除以8”。但是,用算术术语来描述两个数字的位xor并不是很容易描述。