【答案解析】[解析] 先将编码后的数据换成二进制形式。十六进制ACFH转换为二进制为1010 1100 1111。其次,列出数据与位置的对应表,如下表所示。
{{B}}数据与位置的对应表{{/B}}
|
| 数据 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
| 位置 |
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
M7 |
M8 |
M9 |
M10 |
M11 |
M12 |
其中,第1、2、4、8位为校验位,其余位为数据位。
不妨设出错位为e
1、e
2、e
3、e
4,怎么确定e
1、e
2、e
3、e
4与数据位的关系呢?M
1下标中的1可以表示成0001,这里的0001分别对应e
4、e
3、e
2、e
1(倒过来看),由于e
1的值为1,所以M
1只和e
1有关。M
3下标中的3可以表示成0011,所以M
3和e
1、e
2有关;M
7下标中的7可以表示成0111,所以M
7和e
1、e
2、e
3有关。其他以此类推,只需要将这些有关的用异或符号?连接起来即可,最后可得如下公式:
e
1=M
1⊕M
3⊕M
5⊕M
7⊕M
9⊕M
11=101
⊕1
⊕0
⊕1
⊕1=1
e
2=M
2⊕M
3⊕M
6⊕M
7⊕M
10⊕M
11=0
⊕1
⊕1
⊕0
⊕1
⊕1=0
e
3=M
4⊕M
5⊕M
6⊕M
7⊕M
12=0
⊕1
⊕1
⊕0
⊕1=1
e
4=M
8⊕M
9⊕M
10⊕M
11⊕M
12=0
⊕1
⊕1
⊕1
⊕1=0
按照e
4、e
3、e
2、e
1的排列方式得到的二进制序列为0101,恰好是二进制5,只需要把第五位取反即可,最后的正确信息为1010 0100 1111,然后删除校验位,即第1、2、4、8位,最后得到原始的数据位为1010 1111,转换成十六进制为AFH。