校验码

校验码

计算机系统运行时,各个部件之间要进行数据交换,有两种方法可以确保数据在传送过程中正确无误,

  • 一是提高硬件电路的可靠性;
  • 二是提高代码的校验能力,包括查错和纠错。

通常使用校验码的方法来检测传送的数据是否出错。

码距是校验码中的一个重要概念,所谓码距,是指一个编码系统中任意两个合法编码之间至少有多少个二进制位数不同。

1. 奇偶校验
奇偶校验是一种简单有效的校验方法。其基本思想是:通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验),从而使码距变为2。对于奇校验,它可以检验代码中奇数位出错的编码,但不能发现偶数位出错的情况,即当合法编码中奇数位发生了错误,也就是编码中的1变成0或者0变成1,则该编码中1的个数的奇偶性就发生了变化,从而可以发现错误。
常用的奇偶校验码有3种:水平奇偶校验码、垂直奇偶校验码、水平垂直奇偶校验码。

2. 海明码
海明码的构成方法是:在数据位之间插入k个校验码,通过扩大码距来实现检错和纠错。设数据位是n位,校验位是k位,则n和k必须满足2k-1≥n+k的关系。

3. 循环冗余校验码
循环冗余校验码(CRC)广泛应用于数据通信领域和磁介质存储系统中。它利用生成多项式为k个数据位产生r个校验位来进行编码,其编码长度为k+r。CRC的代码格式如下图1.2所示:

在这里插入图片描述
由此可知,循环冗余校验码是由两部分组成的,左边为信息码(数据),右边为校验码。

若信息码占k位,则校验码就占n-k位。

其中,n为CRC码的字长,所以CRC码又称为(n,k)码。

校验码是由信息码产生的,校验码位数越长,该代码的校验能力就越强。在求CRC编码时,采用的是模2运算。模2运算加减运算的规则是按位运算,不发生借位和进位。

…end…

本文参考书籍:
全国计算机技术与软件专业技术资格(水平)考试参考用书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李桥桉

支持一下作者

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值