特点:发现双比特错,纠正单比特错
根据海明不等式求得所需校验码的个数
4个校验码分别放在2的几次方的位置
P1校验第四位二进制为1的数据
P2校验第三位二进制为1的数据
P3校验第二位二进制为1的数据
P4校验第一位二进制为1的数据
如何求校验码的值?
一个校验码可以校验多个数据
所以令该校验码与它要校验的数据进行异或 并使最终的值为0
P1 D1 D2 D4 D5
P1 1 0 1 0 #异或 同0异1
P1 1 1 0
P1 0 0
P1 0
P1 为0与0异或的值为0
所以P1的值为0
得到P1P2P3P4与要校验的值异或的值为1010
然后从P4往P1写为 0101
二进制0101的十进制数为5
所以可以判断是第五位出错