海明校验

一、

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,则没有错误。

 

猜你喜欢

转载自www.cnblogs.com/wander-clouds/p/8886628.html