CRC校验码】的更多相关文章

目录一.CRC16实现代码二.CRC32编码字符表三.CRC校验码的手动计算示例四.CRC校验原理五.CRC的生成多项式参考 一.CRC16实现代码 思路:取一个字符(8bit),逐位检查该字符,如果为1,crc^crc_mul;同时,如果原本crc最高位是1,那么crc^crc_mul后左移1位,否则只是左移一位.计算完一个字符后,装入下一个字符. #include<stdio.h> #define crc_mul 0x1021 //生成多项式 unsigned int cal_crc(un…
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码.对于一个给定的(N,K)码,可以证明存在一个最高次幂为R的多项式G(x)(R=N-K).根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式. 编码规则: (1)移位:将原信息码(kbit)左移R位 (R是多项式的最高次幂,即在信息码的后面补上R个0) (2)相除:将(1)中移位好的编码作为被除数,将多项式看成二进制码作为除数(取异或),得到的R位余…
一.奇偶校验码 二.海明校验码 三.CRC校验码   计算机系统运行时,各个部之间要进行数据交换.交换的过程中,会有发生误码的可能(即0变成1或1变成0),由于计算机的储存是通过二进制代码来实现的的,误码会导致储存的内容发生改变.为确保数据在传送过程正确无误,常使用检验码. 我们常使用的检验码有三种. 分别是奇偶校验码.海明校验码和循环冗余校验码(CRC) . 一.奇偶校验码 学习资料:常用校验码 概念:   奇偶校验码是奇校验码和偶校验码的统称. 它们都是通过在要校验的编码上加一位校验位组成.…
在CRC计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与CRC计算. CRC计算方法是: 1.  加载一值为0XFFFF的16位寄存器,此寄存器为CRC寄存器. 2.  把第一个8位二进制数据(即通讯信息帧的第一个字节)与16位的CRC寄存器的相异或,异或的结果仍存放于该CRC寄存器中. 3.  把CRC寄存器的内容右移一位,用0填补最高位,并检测移出位是0还是1. 4.  如果移出位为零,则重复第三步(再次右移一位):如果移出位为1,CRC寄存器与0XA001进行…
CRC(循环冗余校验)在线计算 http://www.ip33.com/crc.html 里面的8005的多项式值,但网上看到的算法都是用A001来异或的 ----------------------------------------------------- 0x8005=1000 0000 0000 0101B  0xA001=1010 0000 0000 0001B 对比两个二进制高低位正好是完全相反的,CRC校验分为正向校验与反向校验.正向校验高位在左,反向校验低位在左 正向校验使用左…
循环冗余校验码 CRC码利用生成多项式为k个数据位产生r个校验位进行编码,其编码长度为n=k+r所以又称 (n,k)码. CRC码广泛应用于数据通信领域和磁介质存储系统中. CRC理论非常复杂,一般书就给个例题,讲讲方法.现在简单介绍下它的原理: 在k位信息码后接r位校验码,对于一个给定的(n,k)码.可以证明(数学高手自己琢磨证明过程)存在一个最高次幂为 n-k=r 的多项式g(x),根据g(x)可以生成k位信息的校验码,g(x)被称为 生成多项式 用C(x)=C(k-1)C(k-2)...C…
海明码(也叫汉明码)具有一位纠错能力.本文以1010110这个二进制数为例解释海明码的编码和校验方法 确定校验码的位数x 设数据有n位,校验码有x位.则校验码一共有2x种取值方式.其中需要一种取值方式表示数据正确,剩下2x-1种取值方式表示有一位数据出错.因为编码后的二进制串有n+x位,因此x应该满足 2x-1 ≥ n+x 使不等式成立的x的最小值就是校验码的位数.在本例中,n=7,解得x=4. 确定校验码的位置 校验码在二进制串中的位置为2的整数幂.剩下的位置为数据.如图所示. 位置 内容 x…
1.CRC.FCS是什么 CRC,全称Cyclic Redundancy Check,中文名称为循环冗余校验,是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误.它是利用除法及余数的原理来作错误侦测的. FCS,全称Frame Check Sequence,中文名称为帧校验序列,俗称帧尾,即计算机网络数据链路层的协议数据单元(帧)的尾部字段,是一段4个字节的循环冗余校验码. 注:CRC循环冗余校验和FCS帧校验序列是…
在物联网平台设计过程中,我的中间件一方面需要处理来自于硬件端的包,另一方面需要处理来自于用户端的包,用户端包括web端和手机端等等.所以编写一个统一的CRC认证是非常必须要. 那么,在设计开始,CRC认证到底是什么呢?所谓的CRC认证,就是指,在硬件端或者用户端进行数据传输前,通过一套算法,将待传输的数据,通过加验,算出其校验码,附加在包体的最后,然后中间件收到此包后,对包进行解析,拿出其中的数据内容部分,然后对包重新进行一次CRC加验,如果本次加验结果和包体附带的CRC校验码数据一致,那么就说…
1.CRC校验简介 CRC就是块数据的计算值,它的全称是“Cyclic Redundancy Check”,中文名是“循环冗余码”.CRC校验是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验.所谓通讯过程的校验是指在通讯数据后加上一些附加信息,通过这些附加信息来判断接收到的数据是否和发送出的数据相同. CRC校验计算      CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,它…