海明校验

一、

k个数据位,设置r个校验位,则校验位能表示2^r个状态

2^r ≥ k + r + 1 

 

2^r-1 ≥ k + r

 

校验码P放在2的幂次位上

数据D可以随便放(一般从右到左,从低位到高位)

 

校验码P的值为出现权值的位置H的数据D进行异或

 

最后得到海明码

二、校验

S1=P1 异或 D(与P1有关的D)

S2=P2 异或 D(与P2有关的D)

...

S1为低位,排列好的数转化为十进制,是出错数据的位置

若 最后转化的十进制=0,则没有错误。

 

 

posted @ 2018-04-20 11:40  夜游星  阅读(174)  评论(0编辑  收藏  举报