我很难回答这个问题。这是原始问题:
使用校验位
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。
我认为读回的字一定有错误,我必须纠正它,这样我才能找到原始数据字。
这是这个问题发生的事情吗?