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,如果所有 1 的检查为偶数,则将奇偶校验位设置为 0。

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

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

4

1 回答 1

0

信息: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??
于 2015-09-28T18:53:16.400 回答