美文网首页
CRC循环冗余检验

CRC循环冗余检验

作者: 国宝级初学者 | 来源:发表于2022-01-18 18:30 被阅读0次

CRC循环冗余检验的应用很广泛,它是用来保障数据传输的过程中不会出差错而引入的,同时也可以保证收发两端的数据不会出差错。是最常用的差错检测机制,在程序中也要用到CRC来保证传输的正确性。发端加入CRC冗余校验码,接收端解码并验证。首先介绍CRC的原理和应用。

任意一个由二进制码流串都可以用一个多项式表示,比如二进制1010110可以表示为多项式

CRC的码字生成的软件方法是借助于多项式除法的。除法之后得到的余数即为校验字段。比如信息字段是

采用的CRC的位数是4位,相应的生成多项式为

多项式除法之后,得余数为

所以最后的码字为s(x)和r(x)的拼接,表示为二进制1010110 0011。

在程序的计算中,不需要一步一步像上述的一样介绍的计算多项式余数的方法进行CRC的计算,只需要查表的方法计算CRC就可行。下图说明了CRC校验值是如何通过查表得方法计算的。

此处举例的是16位CRC的生成示意图,其他的位数的CRC生成的原理相同。0到F表示的是CRC的位数从低到高排列,LSB到MSB表示需要计算CRC的信息字节的位数比特从低到高排列。

相关文章

  • CRC循环冗余检验

    CRC循环冗余检验的应用很广泛,它是用来保障数据传输的过程中不会出差错而引入的,同时也可以保证收发两端的数据不会出...

  • MySQL crc32 & crc64函数 提高字符串查询效率

    一、概念:CRC全称为Cyclic Redundancy Check,又叫循环冗余校验。CRC32是CRC算法的一...

  • 面向对象程序设计之CRC

    什么是 CRC card? CRC (Class-Responsibility-Collaborator) Car...

  • CRC32校验算法

    public class CRC32{/** The crc data checksum so far. */pr...

  • iOS CRC16 校验码

    CRC 在线校验地址:https://www.lammertbies.nl/comm/info/crc-calcu...

  • iOS CRC16 MODBUS 校验

    CRC-16 / MODBUS : CRC寄存器的初始值为 0xFFFF;即16个字节全为1 CRC-16 / M...

  • iOS物联网之CRC效验

    此文为代码记录,需要使用到CRC的朋友可以直接拷贝使用。 CRC.h 是以下代码: CRC.m 是以下代码...

  • SPI的CRC校验计算

    22.3.6 CRC计算CRC校验仅用于保证全双工通信的可靠性。数据发送和数据接收分别使用单独的CRC计算器。...

  • 硬件连接-CRC32

    一,iOS CRC32校验 项目中用到蓝牙,遇到了CRC32校验失败; CRC校验失败的原因: 1,发的固件是空的...

  • CRC16算法

    CRC16 标准 目前常用CRC16算法主要是依据以下两种标准: CRC16 算法 按照使用环境不同,主要有以下三...

网友评论

      本文标题:CRC循环冗余检验

      本文链接:https://www.haomeiwen.com/subject/mramcrtx.html