CRC校验
来源:互联网 发布:国家打击网络棋牌吗? 编辑:程序博客网 时间:2024/06/05 06:55
一、概念
CRC即为循环冗余校验码,是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
二、算法
(1)先选择一个用于在接收端进行进行校验时,对接收的帧进行除法运算的除数。
(2)看所选定的除数的二进制位数,假设为k位,然后在要发送的的数据帧(m位)后加上k-1位“0”,然后用该帧以“模2除法”方式除以除数,所得的余数就是该帧的CRC校验码。注意:余数的位数一定是比除数少一位,不够的在前面补“0”。
(3)把校验码附在原数据帧的末尾,构建成一个新帧发送到接收端,最后在接收端再把这个新帧以“模2除法”的方式除以之前选择的除数。若没有余数,则表明在传输过程中没有出错;否则,则在传输过程中出现了差错。
三、实例
假设选择的CRC生成多项式为G(X) =X4 + X3 + 1,求二进制序列10110011的CRC校验码。
(1)将多项式G(X)变为二进制序列 11001
(2)生成的二进制的位数为5位,则在原数据帧后加4个0,得到新帧 101100110000 ,然后把这个数以“模2除法”方式除以多项式,得到的余数为 0100。
(3)把得到的CRC校验码附在原始帧末尾,得到新帧 101100110100,再把此帧发送到接收端。
(4)接收端接收到的帧以“模2除法”的方式除以之前选择的除数11001,若没有余数则没有差错,否则出现差错。
阅读全文
0 0
- CRC校验
- CRC校验
- crc校验
- CRC校验
- CRC校验
- crc校验
- CRC校验
- CRC校验
- CRC 校验
- CRC 校验
- CRC校验
- CRC校验
- CRC 校验
- CRC校验
- CRC校验
- CRC校验
- CRC校验
- CRC校验
- JQuery使用(一)(元素和属性)
- Kotlin-Android世界的一股清流-委托
- 51nod 1405 树的距离之和
- 114. Flatten Binary Tree to Linked List
- datagrid中文本内容过长时文字显示不出,鼠标移上去预览
- CRC校验
- React Native 技巧集锦
- String,StringBuffer与StringBuilder的区别
- 2.2整数表示
- Wireshark 抓包遇到 you don't have permission to capture on that device mac 错误的解决方案
- XMU C语言程序设计实践(5)
- idea快捷生成main函数等
- 日常(委屈到爆炸)
- ASimpleCache (ACache)缓存框架