【问题标题】:Calculating CRC example计算 CRC 示例
【发布时间】:2012-10-05 06:18:23
【问题描述】:

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

当数据除以 G(x) 时,余数为 0。那么这是否意味着 CRC 为 0 或什么都没有,或者这甚至可能吗?

【问题讨论】:

    标签: math crc


    【解决方案1】:

    除法几乎和学校一样:

    10|110
       10  (xor)
    ------
       010
        10  (xor)
    -------
         0 <- remainder
    

    唯一的区别是必须只检查每一行的 msb
    使除数适合部分余数:
    附加的消息是 1100

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

    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 项省略)然后余数将是两位

    101|110
        101
    --------
         11  <-- final remainder; concatenated message = 11011
    
    checking message integrity:
    
    101|11011
        101
     --------
         1111
         101
      --------
          101
          101
      --------
           00 <-- checked!
    

    【讨论】:

      猜你喜欢
      • 2017-03-01
      • 2011-11-08
      • 2021-08-09
      • 1970-01-01
      • 2019-09-27
      • 2017-02-11
      • 2014-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多