1、奇偶校验码的位数由有效信息的位数加上一位效验码
2、编码:根据有效信息计算校验信息位,使校验码(数据+1位校验信息)中1的个数满足奇/偶校验的要求。
例如: 23 二进制表示:10111
3、原理
设置为奇校验,先看发送方将要发送的一组数据中有几个1,如果该组数据中1的个数为奇数,那么校验位的值就为0。如果1的个数为偶数,那么效验码的值就为1。保证该组数据中1的个数为奇数后即可将数据发送,接收方此时要检查接收的数据是否有误,它检查的方法就是看接收的数据中1的个数。如果数据位中1的个数为偶数,就检查校验位上的数值是否为1,为1的话数据无误,为0则报错;如果数据位中1的个数为奇数,就检查校验位上的数值是否为0,为0的话数据无误,为1则报错。
设置为偶校验,先看发送方将要发送的一组数据中有几个1,如果该组数据中1的个数为偶数,那么校验位的值就为0。如果1的个数为奇数,那么效验码的值就为1。保证该组数据中1的个数为偶数后即可将数据发送,接收方此时要检查接收的数据是否有误,它检查的方法就是看接收的数据中1的个数。如果数据位中1的个数为奇数,就检查校验位上的数值是否为1,为1的话数据无误,为0则报错;如果数据位中1的个数为偶数,就检查校验位上的数值是否为0,为0的话数据无误,为1则报错。
4、奇偶校验的特点
1)编码与检错简单;
2)编码效率高;
3)不能定位错误,因此不具备纠错能力。
4、海明码
海明码是一种有纠错能力的二进制编码。(海明码又称汉明码,以发明者理查德.卫斯里.汉明 Richard Wesley Hamming 的名字命名)
1)特点:
海明码分为奇校验海明码和偶校验海明码
海明码具有检错和纠错双功能,它基于奇偶校验原理,只能检查出某一位错码的位置。
2)位数设置
设检测的二进制代码为n位,K为检测位(提供纠错),总共n+k位代码,当中检测位满足的关系:2^k>=n+k+1
3)计算步骤
计算校验位的位数
计算校验位所在位置
计算每个校验位的值得出海明校验码,利用海明校验码校验数据(每一个校验位的值,由其参与校验的所有数据位的值异或而成)