1

我知道如何编码和解码 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 代码进行编码和解码,而不将它们转换为二进制?

我试图做一些研究,但是我找不到任何方法或例子来使用自然数我似乎只找到二进制例子。请问大家有什么帮助吗?

4

1 回答 1

2

这是完全相同的算法。您正在使用自然数。它们的书写方式无关紧要。“左移三位”相当于“乘以 8”。“右移一位”相当于“除以二,舍去余数”。“取最后三位”相当于“除以 8 取余数”。但是,用算术术语来描述两个数字的位异或并不是很容易。

于 2012-04-30T14:52:59.673 回答