关于CRC(循环冗余校验),我在网上看了许多的文章,感觉看的很懵逼,废话一堆(可能是我理解不上去0.0),下面是我的一些理解(如果有误谢谢指出):

关于crc,它主要分为两个部分,一个是发送端通过crc算法进行编码,另一个是通过crc算法进行译码。来检测传输过程中是否错误,是否有数据丢失。(网上大多数都是编码,很少讲解码)

1、crc编码:

假如想要传输的数据为6bit的101001,那么对于一个随机的除数1101来说,下面就是他的算法,通过除数与被除数之间按位异或,得到余数001,将其加回到数据101001上得到待传数据101001001,和效验码(除数)1101,发送给接收端。

2、crc译码

对于接收到的数据101001001和效验码1101进行运算,来判断是否有数据丢失,做同样的异或,如果结果除尽,代表数据没有丢失(也可能丢失的位置很巧合刚好除尽,小概率)

这些博客的内容来自我工作、学习时的感悟、与行业前辈的交流感悟以及读书时的笔记,一部分内容可能与其他的网络资源类似,如果有相关问题的话(比如内容有错),请私聊博主或者在博文下面留言评论。

   写博客最初目的就是记录自己容易忘记的东西,而不是像写书那样专门写给别人看的。所以,文章可以转载(转载请标明出处 http://www.cnblogs.com/podia/ ,作者:podia),无需版权

CRC(循环冗余校验)的更多相关文章

  1. 【转】 CRC循环冗余校验码

    1.CRC CRC循环冗余校验码是数据通信中的一种查错校验码. 循环冗余检查对数据进行多项式计算,将计算结果附加在帧后面,接收数据的设备执行模2运算,保证数据传输的正确性和完整性. 2.模2除法 ①不 ...

  2. CRC循环冗余校验码

    原文转载自:https://blog.csdn.net/hm108106/article/details/73332465 1.CRC CRC循环冗余校验码是数据通信中的一种查错校验码. 循环冗余检查 ...

  3. CRC循环冗余校验码总结(转)

    转自 http://blog.csdn.net/u012993936/article/details/45337069 一.CRC简介 先在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclic ...

  4. Modbus库开发笔记之八:CRC循环冗余校验的研究与实现

    谈到Modbus通讯自然免不了循环冗余校验(CRC),特别是在标准的串行RTU链路上是必不可少的.不仅如此在其他开发中,也经常要用到CRC 算法对各种数据进行校验.这样一来,我们就需要研究一下这个循环 ...

  5. 关于CRC循环冗余校验的总结(C#)

    1. 实验要求 (1)通过CRC(循环冗余校对)序列的计算,掌握C#语言中类的静态方法与动态方法的区别. (2)Shell与Windows Form 的通信作为扩展提高内容. 2. 实验内容  主要工 ...

  6. CRC循环冗余校验算法

    现实中通信链路都不会是理想的,比特在传输的过程中可能会出现差错,0变成1,1变成0.这就叫做比特差错.因此为了保证数据传输的可靠性,在计算网络传输数据时,必须采用各种检验措施来处理比特差错.在数据链路 ...

  7. CRC循环冗余校验---模2除法解析

    关于模2除法,网上的人说了一大堆规则和原理,感觉很容易把小白绕进去,下面我只说怎么计算,不说其中的规则和原理.

  8. CRC(Cyclic Redundancy Check)循环冗余校验码与海明码的计算题

    (17)采用CRC进行差错校验,生成多项式为G(X)=X4+X+1,信息码字为10111,则计算出的CRC校验码是  (17)  .A.0000  B.0100   C.0010   D.1100试题 ...

  9. 循环冗余校验(CRC)算法入门引导

    目录 写给嵌入式程序员的循环冗余校验CRC算法入门引导 前言 从奇偶校验说起 累加和校验 初识 CRC 算法 CRC算法的编程实现 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌 ...

  10. 【转】循环冗余校验(CRC)算法入门引导

    原文地址:循环冗余校验(CRC)算法入门引导 参考地址:https://en.wikipedia.org/wiki/Computation_of_cyclic_redundancy_checks#Re ...

随机推荐

  1. Spring学习(八)AOP详解

    文章更新时间:2020/04/06 一.一个例子 在上面的例子中,包租婆的核心业务就是签合同,收房租,那么这就够了,灰色框起来的部分都是重复且边缘的事,交给中介商就好了,这就是 AOP 的一个思想:让 ...

  2. ubuntu桌面版修改屏幕刷新率之后无法进入桌面(一直卡在输入密码的界面)的解决办法

    deb https://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiversedeb-src https://mir ...

  3. Processing 状态量控制动画技巧

    之前在CSDN上发表过: https://blog.csdn.net/fddxsyf123/article/details/62848357

  4. Vue 表单拖拽排序

    Vue table表单拖拽 业务需求: 因为数据展示使用的是 elementUI 的 Table进行数据展示的,现在的需求是通过拖拽表单进行表单排序.同时,动态修改表单中的数据排列顺序.查阅了好多资料 ...

  5. Git源代码管理笔记

    很早之前也学过git但是没有详细的记录,这次是做个复习,巩固 若有不对的地方请您指出 目录 Git和SVN有什么区别? 什么是Git? github仓库 Star和Fork Pull request ...

  6. 接口鉴权,提供给第三方调用的接口,进行sign签名

    //场景:公司要跟第三方公司合作,提供接口给对方对接,这样需要对接口进行授权,不然任何人都可以调我们公司的接口,会导致安全隐患: 思路: 在每个接口请求参数都带上ApiKey 和sign签名: 我们在 ...

  7. Vue学习笔记使用系列一【表单】

    脚手架的搭建,请查看另外一篇日记:https://www.cnblogs.com/Fengge518/p/11837078.html 1:直接代码了 1 <!DOCTYPE html> 2 ...

  8. 【DFIR】数字取证与事件应急响应---初识

    应急响应 适用于负责现场应急,找出可疑的程序,恶意代码的安全工程师.这些可疑恶意程序或代码由另外的专家进行逆向分析. 前言 首先,什么是DRIF? DRIR:Digital Forensics and ...

  9. 洛谷 P3413 【萌数】

    敲完这篇题解,我就,我就,我就,嗯,好,就这样吧... 思路分析: 首先我们要知道一个回文串的性质--假如说一个[l-1,r+1]的串是回文的,那么[l,r]一定也是回文的. 所以我们只要记录前一个数 ...

  10. RocketMQ的消息是怎么丢失的

    前言 通过之前文章的阅读,有关RocketMQ的底层原理相信小伙伴们已经有了一个比较清晰的认识. 那么接下来王子想跟大家讨论一个话题,如果我们的项目中引入了MQ,势必要面对的一个问题,就是消息丢失问题 ...