首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算CRC示例

计算CRC示例
EN

Stack Overflow用户
提问于 2012-10-05 14:18:24
回答 1查看 1.9K关注 0票数 0

有人能告诉我计算CRC码的步骤吗?生成多项式G(x)=10数据: 110附加了crc的消息:110

当数据除以G(x)时,余数为0。那么,这是否意味着CRC为0或零,或者这是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 14:41:45

除法的方式几乎和在学校一样:

代码语言:javascript
复制
10|110
   10  (xor)
------
   010
    10  (xor)
-------
     0 <- remainder

唯一的区别是只需要检查每一行的msb

对于要放入部分余数的除数:

要检查crc,可以再次执行除法:

代码语言:javascript
复制
10|1100
   10    (xor)
-------
    100
    10   (xor)
--------
     00
     10  (no xor)
-------
      0  <-- remainder is 0, so the message is valid

但有一些可疑之处:通常crc多项式有一个项+1,如果最高阶项是x^2 (例如)那么完全多项式有3项,其中只有2项传统上是显式声明的。那么你的多项式实际上是x^2 +1才有意义,它将以相反的顺序表示为1+ 0*x (省略+ 1* x^2项),然后余数将是两位

代码语言:javascript
复制
101|110
    101
--------
     11  <-- final remainder; concatenated message = 11011

checking message integrity:

101|11011
    101
 --------
     1111
     101
  --------
      101
      101
  --------
       00 <-- checked!
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12740580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档