2012-09-26 71 views
2

我很难回答这个问题。这里是原始问题:汉明码混乱

一个字是用检查位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的检查为即使将奇偶校验位设置为0.

我认为回读一词必须有错误,并且必须纠正它,然后这将允许我查找原始数据字。

这是在这个问题上发生了什么?

回答

0

消息:11000010

方法A:

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??