【问题标题】:Hamming Code Confusion汉明码混淆
【发布时间】:2023-03-15 05:51:01
【问题描述】:

我很难回答这个问题。这是原始问题:

使用校验位0111(c8、c4、c2 和 c1)对单词进行编码。这个词被读回为11101011(数据)。原始数据字是什么?

我认为既然有 4 个校验位,那么这一定是一个 4 位的内存字,只有 16 个可能的字:0000, 1000, 0100, 1100, 0010, 1010, 0110, 1110, 0001, 1001, 0101, 1101, 0011, 1011, 0111, 1111。因此,每个码字有8位,校验位在1、2、4、8位。

  • 位 1 检查位的奇偶性:1、3、5、7、9、11
  • 位 2 检查位的奇偶性:2、3、6、7、10、11
  • 位 4 检查位的奇偶性:4、5、6、7、12
  • 位 8 检查位的奇偶性:8、9、10、11、12

我也知道如果 1 的检查总数为奇数,则将奇偶校验位设置为 1,如果所有 1 的检查为偶数,则将奇偶校验位设置为 0。

我认为读回的字一定有错误,我必须纠正它,然后才能找到原始数据字。

这是这个问题中发生的事情吗?

【问题讨论】:

    标签: hamming-code


    【解决方案1】:

    留言:11000010

    方法一:

    CBA987654321  <-- Hexadecimal
    1100?001?0??
    
    C=1100
    B=1011
    5=0101
    ______
    X=0010
    

    垂直测试每一位 (XOR)。

    解决方案:

    1100?001?0??
        0   0 10
    
    110000010010
    

    方法B:

    CBA987654321  <-- Hexadecimal
    1100?001?0??
    

    【讨论】:

      猜你喜欢
      • 2017-07-10
      • 2022-01-13
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2010-11-24
      • 1970-01-01
      相关资源
      最近更新 更多