• 奇偶校验码浅谈


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

  • 相关阅读:
    LeetCode First Bad Version (二分查找)
    LeetCode Permutations II (全排列)
    LeetCode Permutations (全排列)
    LeetCode Minimum Path Sum (简单DP)
    LeetCode Binary Tree Postorder Traversal(数据结构)
    LeetCode Sort Colors (技巧)
    邹忌
    参数传递
    父子窗体返回值与互操作
    其他数据库连接
  • 原文地址:https://www.cnblogs.com/dushikang/p/8334776.html
Copyright © 2020-2023  润新知