校验码(循环冗余校验码)

循环冗余校验码,又称CRC码。它利用生成多项式来为k个数据位产生r个校验位来进行编码。其编码长度为k+r。

循环冗余校验码由两部分组成,左边为信息码(数据),右边为校验码,如下图

若信息码占k位,则校验码就占n-k位,其中,n为CRC码的字长,所以又称为(n,k)码。校验码位数越多,校验能力越强。

CRC编码的计算
采用的是模2运算,其加减运算的规则是按位运算,不发生借位和进位。
下面以实例解释:
假设使用的生成多项式是G(X)=X3+X+1。4位的原始报文为1010,求编码后的报文。
解:
1、将生成多项式G(X)=X3+X+1转换成对应的二进制除数1011。
转换方式为Xi中的i对应二进制数的指数2^i。如上式X3+X+1可解为

2、生成多项式有4位(R+1)。
注意:4位的生成多项式计算所得的校验码为3位,R为校验码位数(校验码的位数=二进制除数位数-1)。

要把原始报文C(X)=1010左移3位(即校验码的位数),低位补0,变成1010 000,即被除数

3、用生成多项式对应的二进制除数对左移3位后的原始报文(即1010 000)进行模2除(高位对齐),相当于按位异或得到的余位011,所以最终编码为:1010 011。如下图

所得的商没有意义,余数保留r位(即校验码的位数)。然后将原数据与校验码(即上面所求得的余数)拼接在一起,就构成了一个CRC码。

校验码(循环冗余校验码)相关推荐

  1. 计组之数据运算:2、奇偶校验码、海明校验码 循环冗余校验码

    2.奇偶校验码 奇偶校验相关概念: 奇偶校验: 海明校验: 思维导图: 基本思想: 求解步骤: 问题: 循环冗余校验码: 原理: 步骤: 纠错: 奇偶校验相关概念: 1.码字:00组成一个码字A 2. ...

  2. 2.4海明校验码循环冗余校验码

    奇偶校验:只能发现奇数位错误,但无法确定是在哪一位 一.海明码 海明码设计思路:将信息位分组进行偶校验->多个校验码 1. k个校验位表示2^k种状态:存在关系:2^k>=n+k+1 信息 ...

  3. 【校验码 - 循环冗余校验码CRC】

    水善利万物而不争,处众人之所恶,故几于道

  4. 计算机组成原理学习笔记:循环冗余校验码

    循环冗余校验码 CRC 码 循环冗余校验码 (cyclic redundancy Check, CRC) 十进制除法 从熟悉的十进制出发,假设现在你要给另一个人传送882这样的一个10进制数据,为了防 ...

  5. 3 种常用校验码「奇偶校验码」「海明校验码」「循环冗余校验码」

    1. 奇偶校验码 > 校验码 校验码是指能够发现或能够自动纠正错误的数据编码,也称检错纠错码. 校验码的原理是通过增加一些冗余码,来检验或纠错编码. 如上图,添加一位冗余码,这时当出现位错误时( ...

  6. CRC冗余校验码源码代码c语言,循环冗余校验码(CRC)应用总结(包括C++源码)

    最近在实习期间需要用到数据的校验,所选为CRC16,那么就在此总结一番吧. 现在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclical Redundancy Check,简称CRC,它是利用 ...

  7. 循环冗余校验码CRC,求解步骤

    循环冗余校验码CRC,是软考-计算机组成原理 中一种重要的编码. 下面只是简要描述求解CRC码的解题步骤,面向有一定理论基础的朋友. 直接看例题. 例.信息位: 10100110   生成多项式: 解 ...

  8. CRC24循环冗余校验码的FPGA实现

    CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据 ...

  9. 第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 [计算机组成原理笔记]

    第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 循环冗余校验码/ ...

  10. 计算机组成原理:循环冗余校验码CRC具备“一位纠错”功能的思考与探索

    笔者在阅读华中科技大学谭志虎老师主编的<计算机组成原理(微课版)>教材进行复习时,产生了一个疑问,并针对性地进行了一些思考.欢迎广大复习到这里同样有问题的同学(寒假开学接着考试实在有点汗, ...

最新文章

  1. 企业微信发送企业红包java_发放企业红包
  2. gecco 1.1.0稳定版发布,易用的轻量化爬虫
  3. SWIG:SWIG的简介、安装、使用方法之详细攻略
  4. BZOJ2459 : [BeiJing2011]神秘好人
  5. php评论获取时间,WordPress函数comment_date获取评论发布时间
  6. php框架例子,php框架中的动态实例化对象详解
  7. jquery-购物车js
  8. ios libfdk-aac encode
  9. 四川大专计算机专业排行,四川排名前三中等职业技术学院专业排行
  10. Zmodem安装,拖拽的方式通过shell命令界面实现windows和linux之间的文件互传
  11. 设置模式之UML中的类图及类图之间的关系
  12. matlab仿真项目心得,Matlab与Simulink系统仿真学习心得
  13. 工业以太网与现场总线技术各自优缺点和应用
  14. Github最新客户端的简单使用教程
  15. win10激活工具---KMSAutoNet
  16. LINUX下的makefile学习(此文是我学习过程遇到问题时找到的所有回答,感谢其它大佬的回答,各个文章我都标明了原文链接)
  17. 【Procmon教程2】如何揪出篡改注册表的元凶?
  18. linux nmon的安装及使用
  19. 13.集合框架ListSet
  20. Office 2010在win7上安装出现1935错误的解决方法

热门文章

  1. 总结软考(软件设计师中级)——计算机语言基础的知识
  2. 可作为工质状态参数的是_§2工质的热力状态及其基本状态参数
  3. Windows动态库DllMain
  4. iOS 15 越狱情报
  5. 用Excel数据透视表的单字段透视功能统计各销售人员的销售总金额
  6. Mac上的三款时钟屏保
  7. HTML当前标签鼠标停留下划线和变色效果
  8. 保姆级人声录剪混音教程|您的人声不是输给了混音,而是“选择”。(误区)|MZD Studios
  9. 能力训练之应变能力训练
  10. ZEMAX | 如何使用 ISO 元件制图工具