以下为 王道考研视频中 海明码计算的学习笔记
4位校验码插入到6位的数据当中,一共构成10位数据位,其中校验码P的位置是放在2的n次方的位置上(n=0,1...)。(如Pn放在、、、这4个位置上)
剩下将D1~D6填入即可。
二进制位的位数由数据位的最后一位数确定,比如这里是10,用二进制表示则需要4位。
P1对应的二进制位的第一位是1,那么它可以校验所有二进制位第1位是1的数据,以此类推P2校验所有二进制位第2位是1的数据......
因此 101101 的海明码为 0010011101
从P4往P1写得到0101,对应十进制的5,将错误的第五位改成它的反码(1->0)即纠正错误。