文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>2.1.5 校验码

2.1.5 校验码

时间:2010-09-22  来源:yuxinlen

2.1.5 校验码

  元件故障\噪声干扰等各种因素常常导致计算机在处理信息过程中出现错误。为了防止错误,可将信号采用专门的逻辑线路进行编码以检测错误,甚至校正错误。通常的方法是,在每个字上添加一些校验位,用来确定字中出现错误的位置。

最简单且应用广泛的检错码是采用一位校验位的奇校验或偶校验。

设x=(x0x1…xn-1)是一个n位字,则奇校验位定义为

  =x0⊕x1⊕…⊕xn-1        (2.15)

  式中⊕代表按位加,表明只有当x中包含有奇数个1时,才使=1,即C=0。

同理,偶校验位C定义为

C=x0⊕x1⊕…⊕xn-1        (2.16)

即x中包含偶数个1时,才使C=0。

假设一个字x从部件 A 传送到部件 B。在源点 A,校验位C可用上面公式算出来,并合在一起将(x0x1…xn-1C)送到B。假设在B点真正接收到的是x=(x'0x'1…x'n-1C '),然后计算

F=x'0⊕x'1⊕…⊕x'n-1⊕C'

若F=1,意味着收到的信息有错,若F=0,表明x字传送正确。奇偶校验提供奇数个错误检测,无法检测偶数个错误,更无法识别错误信息的位置。

[例7]已知下表中左面一栏有5个字节的数据。请分别用奇校验和偶校验进行编码,填在中间一栏和右面一栏。

  [解:]
  
假定最低一位为校验位,其余高8位为数据位,列表如下。从中看出,校验位的值取0还是取1, 是由数据位中1的个数决定的。

相关阅读 更多 +
排行榜 更多 +
火柴人战争血腥打击

火柴人战争血腥打击

飞行射击 下载
沉浸式射击比赛

沉浸式射击比赛

飞行射击 下载
银河世界

银河世界

飞行射击 下载