海明码,设数据为01101001,采用4个校验位求其偶校验方式的海明码,通俗点,

lifeiyu 1年前 已收到1个回答 举报

寒玲珑 幼苗

共回答了22个问题采纳率:95.5% 举报

做海明码最容易理解的方法就是画一个校验码公式表:
先说下海明码怎么形成,(因为你给的原始数据为8位,加4位冗余,12位我的表格就画不下了,表格对不齐你也不便理解~)
所以下面假设的是接收端收到的、以包含原数据+校验位的数据是01101001,现在对恢复原始数据,剔除校验做解释:
信息数据为01101001,校验码4位
位数 8 7 6 5 4 3 2 1
信息位 / I4 I3 I2 / I1 / /
校验位 r3 / / / r2 / r1 r0
以上即校验公式表,三行八列, “/”的地方为空.
将原始数据填入表中,于是得到:
位数 8 7 6 5 4 3 2 1
信息位 / 1 1 0 / 0 / /
校验位 0 / / / 1 / 0 1
即把原始数据从右到左,对应填入表中.比如原始数据最右边一位是1,就在表的位数行1的非“/”处填1;从右数第二位是0,就在表中位数行2的下面非“/”处填0,第三位是0,在表中行数为3的下面非“/”处填0.
即表中 I4 I3 I2 I1 就是原始数据,对应01101001的7 6 5 3位,1100
表中r4 r3 r2 r1 就是校验位,对应01101001的8 4 2 1位 0101
回到原问题,对01101001编码,只需扩充表格为12列的就可
信息位行中 2的n次方 处为空,即1 2 4 8 16处为“/”
校验位行中 2的n次方 处为有效位 即1 2 4 8 16处为r4 r3 r2 r1
不知道能不能理解~

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 1.152 s. - webmaster@yulucn.com