校验码(循环冗余校验码)
校验码(循环冗余校验码)
循环冗余校验码,又称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码。
校验码(循环冗余校验码)相关推荐
- 计组之数据运算:2、奇偶校验码、海明校验码 循环冗余校验码
2.奇偶校验码 奇偶校验相关概念: 奇偶校验: 海明校验: 思维导图: 基本思想: 求解步骤: 问题: 循环冗余校验码: 原理: 步骤: 纠错: 奇偶校验相关概念: 1.码字:00组成一个码字A 2. ...
- 2.4海明校验码循环冗余校验码
奇偶校验:只能发现奇数位错误,但无法确定是在哪一位 一.海明码 海明码设计思路:将信息位分组进行偶校验->多个校验码 1. k个校验位表示2^k种状态:存在关系:2^k>=n+k+1 信息 ...
- 【校验码 - 循环冗余校验码CRC】
水善利万物而不争,处众人之所恶,故几于道
- 计算机组成原理学习笔记:循环冗余校验码
循环冗余校验码 CRC 码 循环冗余校验码 (cyclic redundancy Check, CRC) 十进制除法 从熟悉的十进制出发,假设现在你要给另一个人传送882这样的一个10进制数据,为了防 ...
- 3 种常用校验码「奇偶校验码」「海明校验码」「循环冗余校验码」
1. 奇偶校验码 > 校验码 校验码是指能够发现或能够自动纠正错误的数据编码,也称检错纠错码. 校验码的原理是通过增加一些冗余码,来检验或纠错编码. 如上图,添加一位冗余码,这时当出现位错误时( ...
- CRC冗余校验码源码代码c语言,循环冗余校验码(CRC)应用总结(包括C++源码)
最近在实习期间需要用到数据的校验,所选为CRC16,那么就在此总结一番吧. 现在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclical Redundancy Check,简称CRC,它是利用 ...
- 循环冗余校验码CRC,求解步骤
循环冗余校验码CRC,是软考-计算机组成原理 中一种重要的编码. 下面只是简要描述求解CRC码的解题步骤,面向有一定理论基础的朋友. 直接看例题. 例.信息位: 10100110 生成多项式: 解 ...
- CRC24循环冗余校验码的FPGA实现
CRC即循环冗余校验码(Cyclic Redundancy Check[1] ):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据 ...
- 第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 [计算机组成原理笔记]
第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 循环冗余校验码/ ...
- 计算机组成原理:循环冗余校验码CRC具备“一位纠错”功能的思考与探索
笔者在阅读华中科技大学谭志虎老师主编的<计算机组成原理(微课版)>教材进行复习时,产生了一个疑问,并针对性地进行了一些思考.欢迎广大复习到这里同样有问题的同学(寒假开学接着考试实在有点汗, ...
最新文章
- 企业微信发送企业红包java_发放企业红包
- gecco 1.1.0稳定版发布,易用的轻量化爬虫
- SWIG:SWIG的简介、安装、使用方法之详细攻略
- BZOJ2459 : [BeiJing2011]神秘好人
- php评论获取时间,WordPress函数comment_date获取评论发布时间
- php框架例子,php框架中的动态实例化对象详解
- jquery-购物车js
- ios libfdk-aac encode
- 四川大专计算机专业排行,四川排名前三中等职业技术学院专业排行
- Zmodem安装,拖拽的方式通过shell命令界面实现windows和linux之间的文件互传
- 设置模式之UML中的类图及类图之间的关系
- matlab仿真项目心得,Matlab与Simulink系统仿真学习心得
- 工业以太网与现场总线技术各自优缺点和应用
- Github最新客户端的简单使用教程
- win10激活工具---KMSAutoNet
- LINUX下的makefile学习(此文是我学习过程遇到问题时找到的所有回答,感谢其它大佬的回答,各个文章我都标明了原文链接)
- 【Procmon教程2】如何揪出篡改注册表的元凶?
- linux nmon的安装及使用
- 13.集合框架ListSet
- Office 2010在win7上安装出现1935错误的解决方法