奇偶校验有两种校验规则:
- 奇校验:使完整编码(有效位和校验位)中的"1"的个数为奇数个;
- 偶校验:使完整编码(有效位和校验位)中的"1"的个数为偶数个
直接举例:
待编有效信息 | 奇校验码 | 偶校验码 |
10111010 | 101110100 | 101110101 |
11010010 | 110100101 | 110100100 |
因此,如果是奇校验,当待编有效信息的"1"为奇数个,在最后添0,偶数个添1,偶校验相反。
1.奇偶校验实际上就是对我们DnDn-1...D0进行异或运算(两两相同为0,不同为1),最后偶校验生成0,奇校验生成1,正确,反之错误。
上面表格,第一个我们使用奇校验,第二个使用偶校验。
第一个奇校验:1⊕0⊕1⊕1⊕1⊕0⊕1⊕0⊕0=1(正确)
第二个偶校验:1⊕1⊕0⊕1⊕0⊕0⊕1⊕0⊕0=0(正确)
2.如果第一个数据传输过去,变成111110100,很明显地D7变成了1,这时候再进行奇偶校验
1⊕1⊕1⊕1⊕1⊕0⊕1⊕0⊕0=0(错误)
这样我们就能判断数据中出现了错误。