我以为我知道如何在 SEC 汉明码中找到错误并纠正它,但后来我的教科书问题质疑了我的能力......
考虑使用 4 个奇偶校验位保护 8 位字的 SEC 代码。如果我们读取值 0x375,是否有错误?如果是,请更正错误。
所以 0x375 相当于 0011 0111 0101
我找到奇偶校验位...
p1:0 011 0111 0101
p2:0 0 11 0111 0101
p4:001 1 0111 0101
p8:0011 011 1 0101
现在要检测错误,我看看是否有奇偶校验位是奇数......
p1: 0 0 1 1 0 1 1 1 0 1 0 1 = 010100 = 偶数 (0)
p2: 0 01 1 0 11 1 0 10 1 = 011110 = 偶数 (0)
p4: 001 1 011 1 010 1 = 10111 =偶数 (0)
p8: 0011 011 1 0101 = 10101 = 奇数 (1)
我的印象是,要找到错误位,您只需添加奇偶校验位编号即可。就我而言,只有奇偶校验位 8 是奇数。所以错误位 = p8 = 8。但我不认为奇偶校验位可能是错误位,所以我一定做错了什么?