首页 > 其他分享 >[中级]软考_软件设计_计算机组成与体系结构_02_校验码

[中级]软考_软件设计_计算机组成与体系结构_02_校验码

时间:2024-04-01 21:29:38浏览次数:28  
标签:02 校验位 明码 软考 校验 校验码 数据位 出错

校验码

前言

校验码基础知识:

  • 码距:任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距。

    0,1:从0变成了1,只发生了一个数字的变化,所以码距是1

例如:用4位二进制表示16种状态,则有16个不同的码字(0000 ~ 1111),此时码距为1。因为变化最少的尾数是:0000与0001

考点一 奇偶校验码

概念:

奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加
上一个二进制位(校验位)组成校验码。

  • 奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。

  • 偶校验:整个校验码(有效信息位和校验位中“1”的个数为偶数。

概念解析

校验方式校验位结果结果校验位校验方式
0奇校验10×11奇校验1
0偶校验10×11偶校验1

往年真题

以下关于采用一位奇校验方法的叙述中,正确的是 ( C )。
A、若所有奇数位出错,则可以检测出该错误但无法纠正错误
B、若所有偶数位出错,则可以检测出该错误并加以纠正
C、若有奇数个数据位出错,则可以检测出该错误但无法纠正错误
D、若有偶数个数据位出错,则可以检测出该错误并加以纠正

备注:所有奇数位:0101,所有奇数位为1,3为奇数位出错,2,4为偶数位出错

结论

奇偶校验可检查1位(奇数位)的错误,不可纠错


考点二 CRC循环冗余校验码

概念:

CRC的编码方法是:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。

  • r位校验码生成:根据生成多项式决定

把接收到的CRC码用约定的生成多项式G(X)去除(模二除法),如果正确,则余数为0;如果某一位出错,则余数不为0。不同的位数出错其余数不同,余数和出错位序号之间有惟一的对应关系。

  • 中级目前没有涉及,在高级中有考到,但是曾考到过模二除法,了解即可,无需过多关注

往年真题

在( D )校验方法中,采用模2运算来构造校验位。
A、水平奇偶
B、垂直奇偶
C、海明码
D、循环冗余

结论

CRC校验,可检错,不可纠错。

考点三 海明校验码

概念:

  海明校验码的原理是:在有效信息位中加入几个校验位形成海明码,使码距比较均匀地拉大,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供了依据

校验位的求取公式

2 r ≥ m + r + 1 2^r ≥ m+r+1 2r≥m+r+1

也可写作
2 r − 1 ≥ m + r 2^r-1 ≥m+r 2r−1≥m+r

  • r 要求的是最小值
  • m 是信息位的个数
    假设是16位信息,m就是16,也就是说:2r≥16+r+1,所以r≥5才满足。

往年真题

以下关于海明码的叙述中,正确的是( A )
A、海明码利用奇偶性进行检错和纠错
B、海明码的码距为1
C、海明码可以检错但不能纠错
D、海明码中数据位的长度与校验位的长度必须相同


海明码是一种纠错码,其方法是为需要校验的数据位增加若干校验位,使得校验位的值决定于某些被校位的数据,当被校数据出错时,可根据校验位的值的变化找到出错位,从而纠正错误。对于32位的数据,至少需要增加( D )个校验位才能构成海明码。
以10位数据为例,其海明码表示 D 9 D_9 D9​ D 8 D_8 D8​ D 7 D_7 D7​ D 6 D_6 D6​ D 5 D_5 D5​ D 4 D_4 D4​ P 4 P_4 P4​ D 3 D_3 D3​ D 3 D_3 D3​ D 2 D_2 D2​ D 1 D_1 D1​ P 3 P_3 P3​ D 0 D_0 D0​ P 2 P_2 P2​ P 1 P_1 P1​中,其中 D i D_i Di​(0≤i≤9)表示数据位, P j P_j Pj​(1≤j≤4)表示校验位,数据位 D 9 D_9 D9​由 P 4 P_4 P4​、 P 3 P_3 P3​和 P 2 P_2 P2​进行校验(从右至左 D 9 D_9 D9​的位序为14,即等于8+4+2,因此用第8位的 P 4 P_4 P4​第4位的 P 3 P_3 P3​,和第2位的 P 2 P_2 P2​校验),数据位 D 5 D_5 D5​由( B )进行校验。

A、3      B、4
C、5      D、6

A. P 4 P_4 P4​ P 1 P_1 P1​       B、 P 4 P 2 P_4P_2 P4​P2​
C. P 4 P 3 P 1 P_4P_3P_1 P4​P3​P1​       D、 P 3 P 2 P 1 P_3P_2P_1 P3​P2​P1​

备注:32位,m = 32;这道题,可以通过找规律的方式求解

结论

海明校验,可检错,也可纠错。

章节总结

校验码_章节总结

标签:02,校验位,明码,软考,校验,校验码,数据位,出错
From: https://blog.csdn.net/qq_38869359/article/details/137244613

相关文章

  • 【软考---系统架构设计师】信息系统战略规划
    企业系统规划法:自上而下规划,自下而上实现战略集合转化法:将整个过程看做一个信息集合,将组织的战略目标转标为管理信息系统的战略目标关键成功因素法:确定开发优先次序 ......
  • 2024年新算法-冠豪猪优化算法(CPO),CPO-RF-Adaboost,CPO优化随机森林RF-Adaboost回归预
    冠豪猪优化算法(CPO)是一种基于自然界中猪群觅食行为启发的优化算法。该算法模拟了猪群在寻找食物时的集群行为,通过一系列的迭代过程来优化目标函数,以寻找最优解。在这个算法中,猪被分为几个群体,每个群体内的猪会根据当前的最佳解以及群体内部的协作信息来更新自身位置,以期望获得......
  • 2024年4月1日-简单场景绘制、打包验证资源
    先从导入的地图里,把地面复制过来 复制到默认地图 在材质里面找到光,可以修改光的强度 平整场地 用管理里面的删除和添加,弄出一大片平整的地形  把角色放到地图上 选到植物模式,把下载的素材包里的植物拖进去 然后随意丢一点素材到工程里 ......
  • 小球投盒(美团2024届秋招笔试第三场编程真题)
    核心思想用一个队列存储还没有球的盒子一旦有2操作那就剩下1个盒子没有球代码importjava.util.*;publicclassMain{publicstaticvoidmain(String[]args){TreeSet<Integer>q=newTreeSet<>();Scannerscanner=newScanner(System.in)......
  • P9537 [YsOI2023] CF1764B
    洛谷传送门很棒的题。考察终态,可以发现最后输的人拥有的数的数量大概率是比赢家的数量少的。唯一的例外是等差数列,因为一个长为\(n\)的等差数列只能组成\(n-1\)个不同的差值。考虑若一开始先手就是一个公差为\(d\)的\(n+1\)项等差数列,后手是一个公差为\(d\)的\(......
  • 洛谷 P9907 [COCI 2023/2024 #1] Mostovi 题解
    题目分析首先可以确定的是需要枚举断边,所以我们希望两次枚举之间能有些关联。不难想到类树形DP的套路,建DFS树,只不过这题除了讨论和父亲之间的边,还要考虑返租边。以下钦定以\(1\)为树根。树边先从简单的树边开始考虑。考虑不经过\(u\)和\(u\)的父亲\(v\),对答案是否产......
  • 02-05自动微分
    2.5自动微分1.一个简单的例子importtorchx=torch.arange(4.0)y=2*torch.dot(x,x)y.backward()x.gradx.grad.zero_()#在默认情况下,PyTorch会累积梯度,我们需要清除之前的值y=x.sum()y.backward()x.grad2.分离计算#y是作为x的函数计算的,而z则是作为y......
  • 平均数为k的最长连续子数组(美团2024届秋招笔试第三场编程真题)
    核心思想每个数-k计算前缀和并放入mapkey=前缀和value=当前下标由于需要最长的子数组所以只记录最先存在的下标出现重复的前缀和说明存在平均值为k的区间[pre+1,i]importjava.util.ArrayList;importjava.util.HashMap;importjava.util.List;importjava.util.Sc......
  • Poi2002滑雪者命名
    网络流#有源汇上下界费用流#最小点覆盖最小点覆盖问题这里可以直接有源汇上下界费用流//Author:xiaruize#ifndefONLINE_JUDGE#definedebug(x)cerr<<"OnLine:"<<__LINE__<<#x<<"="<<x<<endlboolstart_of_memory_use;#else#defi......
  • 博客摘录「 linux应急响应」2024年3月12日
    ------***windoes***------方法宸极实验室—『杂项』一篇Windows应急响应的详细笔记-九州信泰的文章-知乎宸极实验室—『杂项』一篇Windows应急响应的详细笔记-知乎利用win+r后输入lusrmgr.msc查询系统是否存在多余的特权、隐藏账户。或者打开控制面板>用户账户......