软考知识点---03校验码

一、校验码与码距

(一)校验码

  • 定义:是计算机系统运行时,为确保数据在传递过程中正确无误所采用的方法,可用来检测传送的数据是否出错

  • 作用:提高硬件电路的可靠性,提高代码的校验能力(查错和纠错)

  • 基本思想

    • 把数据可能出现的编码分为两类(合法编码和错误编码)合法编码用于传送数据,错误编码是不允许在数据中出现的编码

    • 合理地设计错误编码以及编码规则使得数据在传送中出现某种错误时就会变成错误编码,这样就可以检测出接收到的数据是否有错

(二)码距

  • 定义:是指一个编码系统中任意两个合法编码之间至少有多少个二进制位不同,也就是从一个合法编码变成另一个合法编码需要变换的二进制位数

📑例如:48421码的码距为1,在传输过程中,此代码的一位或多位发生错误,都将变成另外一个合法编码,因此这种代码无查错能力

  • 0和1均为合法编码,无法检查出错误
  • 00和11在编码过程中出现01,因此有检错能力,但是不知道是00错,还是11错
  • 000和111在编码过程中出现010,因此有检错能力,对于010知道是000错了,有纠错能力

⚠️增大码距能够提高一个编码的纠错和检错能力,但并不是越大越好,太大的码距使得编码长度增加

二、校验码的分类

(一)奇偶校验码(只能检错)

  • 奇偶校验是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验)从而使码距变为2

  • 对于奇校验只能检测代码中奇数位出错的编码,但不能发现偶数位出错的情况。当合法编码中奇数位发生了错误,即编码中的1变成00变成1,则此编码中1的个数的奇偶性就发生了变化,从而可以发现错误

  • 只能发现错误,而不能校正错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

盾山狂热粉

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值