有没有谁能讲清CRC校验

[复制链接]
shenmu2012 发表于 2016-11-23 22:43 | 显示全部楼层
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

冗余校验的基本原理非常好的
comeon201208 发表于 2016-11-25 21:44 | 显示全部楼层
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。
comeon201208 发表于 2016-11-25 21:46 | 显示全部楼层
是这个么??我也不确定了
任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。
comeon201208 发表于 2016-11-25 22:00 | 显示全部楼层
刚看了下,说 ,,,除法没有数学上的含义,而是采用计算机的模二除法,即,除数和被除数做异或运算。进行异或运算时除数和被除数最高位对齐,按位异或。的是异或处理的
angerbird 发表于 2016-11-25 22:34 | 显示全部楼层
楼上帮着分享出来呗,,这个crc校验的在程序开发中用的非常多
angerbird 发表于 2016-11-25 22:34 | 显示全部楼层
特别是涉及到数据通讯的数据包的正确性的校验的
zhangbo1985 发表于 2016-11-27 16:38 | 显示全部楼层
在程序中的实现就是异或算法处理的
baimiaocun2015 发表于 2016-11-27 21:45 | 显示全部楼层
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

这个结合多项式的讲解很通俗易懂的
baimiaocun2015 发表于 2016-11-27 21:46 | 显示全部楼层
不过原理是这样的,但是实际的在代码中的实现的就需要更简单的办法了
豆腐块 发表于 2016-11-28 17:29 | 显示全部楼层
CRC 算法的基本思想是将传输的数据当做一个位数很长的数。将这个数除以另一个数。得到的余数作为校验数据附加到原数据后面
kmzuaz 发表于 2016-11-28 22:22 | 显示全部楼层
CRC校验就是取反而已吧。
kmzuaz 发表于 2016-11-28 22:24 | 显示全部楼层
这个还是自己设计CRC校验程序简单一些。
 楼主| qwer0145 发表于 2016-12-1 08:13 | 显示全部楼层
其实原理很简单,但是写成程序就五花八门,让人看不懂,谁能就一个程序讲解一下就好了
hotpower 发表于 2017-4-21 01:15 来自手机 | 显示全部楼层
呵呵,最新版本现场直播,1分20秒**crc16。
smilingangel 发表于 2017-4-22 13:06 | 显示全部楼层
CRC校验是最基本的校验方式的,也不复杂的
zhangbo1985 发表于 2017-4-22 14:28 | 显示全部楼层
生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。
baimiaocun2015 发表于 2017-4-22 14:51 | 显示全部楼层
Thorald 发表于 2016-8-31 21:21
循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码 ...

这个主要是多项式的操作的
hotpower 发表于 2017-8-15 17:58 | 显示全部楼层
Mattheww 发表于 2017-8-26 10:17 | 显示全部楼层
移位比较,由左向右
kingkits 发表于 2017-8-28 09:24 | 显示全部楼层
CRC是硬件(比如FPGA)做通讯时进行校验的算法,因为简单实现,所以很方便,但如果是软件,那么就建议尽量不要用。很浪费资源
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部