奇偶校验码浅谈

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代码,所以在实际操作过程中选择的时候要考虑到这一点。

posted @ 2018-01-23 11:21  JhonnyK  阅读(21749)  评论(0编辑  收藏  举报