软考中级(软件设计)----校验码

本文详细介绍了三种数据校验技术:奇偶校验码,循环冗余校验码(CRC)和海明码。奇偶校验码通过增加校验位确保编码中1的个数为奇数或偶数,用于简单的错误检测;CRC通过多项式除法产生校验码,接收方通过异或运算判断数据传输是否正确;海明码则通过插入校验位扩大码距,实现错误检测和纠正。这些技术在信息技术领域中对于数据传输的可靠性至关重要。
摘要由CSDN通过智能技术生成

【原文链接】

1 奇偶校验码

  • 码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码,在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2,一般来说,码距越大,越利于纠错和检错

  • 奇偶校验码:在编码中增加1位校验位来使编码中1的个数为奇数(奇校验)或者偶数(偶校验),从而使码距变为2

  • 奇校验:在编码中,含有奇数个1,发送给接收方,接受方接收到后,会计算收到的编码有多少个1,如果是奇数个,则无误,如果是偶数个,则有误

  • 偶校验同理,只是编码中有偶数个1

  • 奇偶校验码只能检1位错,并且无法纠错

2 循环冗余校验码CRC

  • CRC只能检错,不能纠错,其原理是找出一个能整除多项式的编码,因此首先要将原始报文除以多项式,将所得的余数作为校验位加在原始报文之后,作为发送数据发给接收方,其编码格式如下:

在这里插入图片描述

  • 由此可知,CRC由两部分组成,左边为信息码(原始数据),右边为校验码,校验码是由信息码产生的,校验码位数越长,校验能力越强,求CRC编码时,采用的是摸2运算(按位运算,不发生借位和进位)

  • 接收方将收到的数据与多项式进行异或运算,余数为0,说明校验正确,数据传输正确,如果余数不为0,则说明传输失败

3 海明校验码

  • 海明码:本质也是利用奇偶性来检错和纠错的检验方法,构成方法是在数据位之间的确定位置上插入k个校验位,通过扩大码距实现检错和纠错。

  • 设数据是n位,校验位是k位,则n和k必须满足一下关系:2^k-1>=n+k

考试真题

  • 试题如下,答案为:B
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

redrose2100

您的鼓励是我最大的创作动力

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

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

打赏作者

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

抵扣说明:

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

余额充值