奇偶校验码浅谈
1.什么是奇偶校验码
奇偶校验码也是一种校验码,它用来检测数据传输过程中是否发生错误,是众多校验码中最为简单的一种。
顾名思义,它有两种校验方法:奇校验和偶校验
奇校验:原始码流+校验位 总共有奇数个1
偶校验:原始码流+校验位 总共有偶数个1
2. 算法
跟CRC类似,也是在原始码流后面,加上校验位。不同的是,它的校验位只有一位,要么是0,要么是1。并且它的校验码还可以放在码流的前面。
如下图。
例如下图有5组原始码,校验位的计算方法如下。红色代表校验位。
相信大家稍微动下脑子就能想明白,我就不做过多解释了。
3. 应用举例
奇偶校验码一个最为常见的应用场合就是ASCII码。
ASCII码占用一个字节,低7位是有效位,最高位用作奇偶校验。
4. 错误检测能力
只能检测出奇数个错误。
例如还是ASCII码 大写字母 A
奇校验 正确码流 11000001
错1位 11000011 变成了偶数个1,能检测出错误
错2位 11000010 变成了奇数个1,检测不出错误
错3位 11001010 变成了偶数个1,能检测出错误
偶校验 正确码流 01000001
错1位 01000011 变成了奇数个1,能检测出错误
错2位 01000010 变成了偶数个1,检测不出错误
错3位 01001010 变成了奇数个1,能检测出错误
5. 奇校验还是偶校验
那么使用中是选择奇校验还是偶校验呢? 其实都有应用了。
奇校验一个重要的特征是产生不了全0代码,所以在实际操作过程中选择的时候要考虑到这一点。
导航