• 1.16 - 校验码


    目录

    一、相关概念

    1、检错

    2、纠错

    3、码距

    二、奇偶校验

    1、考点

    2、奇校验

    3、偶校验

    三、CRC( 循环冗余校验 )

    1、考点

    2、原理

    3、定义

    四、海明码

    1、考点

    2、定义

    3、原理

    4、校验位的数量与数据位的关系

    五、考法1:各种校验码的特点


    一、相关概念

    1、检错

    • 通过信息能够发现错误;
    • 举例说明-码距为1、码距为2:

    (1)比如说传输的数据是0和1,这是两个合法的编码,由1转换到0只需要转换一位编码,此时是无法检错的,即码距为1时无法检错

    (2)但如果用00表示0,11表示1,将00转换至11需变化两位,此时如果00变成01,系统是可以检查出错误的,既码距为2可以进行检错;

    • 举例说明2-码距为2

    (1)一楼的蓝色1号会议室;二楼的红色2号会议室;

    (2)如果说:去蓝色的2号会议室,系统也是检查不出错误的;因为蓝色的和2号会议室都是正确的信息;

    2、纠错

    • 发现错误,并将错误修改正确;

    • 举例说明-码距为2

    (1)比如说传输的数据是00和11(00对应十进制0,11对应十进制1),要想将0转换成1,就需要将00转换成11;

    (2)那么在转换过程中如果出现了01,就可以检查出错误;

    (3)但是纠错时无法判断出这是要将00转11,还是将11转00,所以就不确定该修改01中的0还是1;

    (4)所以说码距为2时无法纠错;

    • 举例说明-码距为3

    (1)比如说传输的数据是000和111(000对应十进制0,111对应十进制1),要想将0转换成1,就需要将000转换成111;

    (2)那么在转换过程中如果出现了011,就可以检查出错误;

    (3)进行纠错时也可以判断出,这是想要将000转换为111,所以就会将011中的0纠正为1;

    (4)所以说码距大于等于3时,就能进行纠错;

    • 举例说明3-码距为3:

    (1)一楼的蓝色1号会议室;二楼的红色2号会议室;

    (2)如果说:去一楼蓝色的2号会议室,此时系统就能检查出来错误,一楼和蓝色的都是正确信息,只有会议室名称是错误的,就会自动纠正为一楼的蓝色1号会议室;

    3、码距

    • 两个合法编码之间的距离;

    • 会影响到纠错和检错;

    二、奇偶校验

    1、考点

    • 编码机制;

    2、奇校验

    • 仅可检错,可检测1(奇数)位错;

    • 举例说明

    (1)比如传输数据001,进行奇校验时,会在最高位前增加一位校验位,使得编码体系里面1的个数为奇数;

    (2)001中,有1个1,所以在校验位加0,变为0001;

    (3)此时如果0001变成0101,奇校验就会发现,1的个数不是奇数个了,所以就能检查出错误;

    (4)其实通过增加校验位,将数据分为校验部分和数据部分,所以数据发生变化时,数据的校验部分和数据部分都会发生变化;此时相当于码距为2,所以是可以检查出错误的;

    3、偶校验

    • 仅可检错,可检测1(偶数)位错;

    • 举例说明

    (1)比如传输数据001,进行偶校验时,会在最高位前增加一位校验位,使得编码体系里面1的个数为偶数;

    001中,有1个1,所以在校验位加1,变为1001,使得1的个数变为2个;

    此时如果1001变成1101,偶校验就会发现,1的个数不是偶数个了,所以就能检查出错误;

    三、CRC( 循环冗余校验 )

    1、考点

    • 数据构成;

    • 模2除;

    • 在软考中认为CRC不可以纠错只能进行检错,因为CRC并不能百分百的纠错;只有在生成多项式设计的非常完美的时候,才能进行纠错;

    2、原理

    • 用数据与生成多项式做模2除运算,就生成了校验位,将校验位与数据位写在一起产生一个编码(数据位在前,校验位在后);

    3、定义

    • 仅可检错,可检测多为错;

    四、海明码

    1、考点

    • 特点;

    • 校验位与数据位的关系;

    2、定义

    • 可检错,且可纠错;

    • 纠1位错或错位错;

    3、原理

    • 在整个编码的n次方位置设置校验位,可实现多个位置的纠错;

    4、校验位的数量与数据位的关系

    • k:校验位
    • n:数据位
    • 例如:数据是48位,那么k的值就应该是 6 ;

    五、考法1:各种校验码的特点

  • 相关阅读:
    Java-API简析_java.net.Inet6Address类(基于 Latest JDK)(浅析源码)
    实现一个简单的哈希映射功能
    Unity-Adressable打包热更
    美容院共享系统开发|共享模式具体应该怎么去做?
    【第51篇】用于交通预测的时空交互动态图卷积网络
    聚合统一,SpringBoot实现全局响应和全局异常处理
    LeetCode---SQL刷题2
    算法练习6——旋转数组
    java面向对象的三大特性之封装和继承(配视频讲解)
    【Docker】从零开始:4.为什么Docker会比VM虚拟机快
  • 原文地址:https://blog.csdn.net/qq_46071165/article/details/125620143