zoukankan      html  css  js  c++  java
  • 奇偶校验

    一、概念

      奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。

    二、工作原理

      内存的最小单位是比特(bit),8个连续的bit叫做一个字节(byte)。不带奇偶校验的内存的每个字节有8位,如果其中一位数据存储错误则会导致程序发生错误。奇偶校验位就是为了检测数据传输是否正确,工作原理是假设在进行数据存储时,这8个bit存储的数据为11100101,8位中有5个1,结果为奇数个。对于偶校验,校验位就定义为1,这样9位数据1的个数就是偶数个。。当CPU读取存储的数据时,就会统计这9位数据验证1的个数是否为偶数个,若为偶数个则数据传输正确。

      

    三、缺点与优点

       缺点:
    • 奇偶校验无法检测出双位出错,不过双位同时发生错误的概率极低。
    • 奇偶验证数据出错时无法对其进行修正,只能扔掉全部数据从头重新传输 
     优点:
    • 它是使用一位数据能够达到的最好的校验码,并且它仅仅需要一些异或门就能够生成。奇偶校验被广泛应用。
  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/14302002.html
Copyright © 2011-2022 走看看