模2除法结果与异或相同,但是与算术除法不同,即每一位除的结果不影响其它位(不向上一位借位)。

以下,我将以一道题目为例。

采用CRC进行差错校验,生成多项式为G(x)=x4+x+1G(x)=x^{4} +x+1G(x)=x4+x+1信息码字为10111,则计算出的CRC校验码是( )。[杭州电子科技大学2017年]
A.0000
B.0100
C.0010
D.1100
[答案选D]

由于多项式G(x)的最高次为4,所以在信息码10111后添加4个0,即101110000
而G(x)=x4+x+1=1∗x4+0∗x3+0∗x2+1∗x+1G(x)=x^{4} +x+1 =1*x^{4}+0* x^{3}+0*x^{2}+1*x+1 G(x)=x4+x+1=1∗x4+0∗x3+0∗x2+1∗x+1
所以阶数为1的二进制编码为10011

接下来要求出校验码,只需将101110000对10011进行模2 除法,所得到的余数即为校验码
相同为0,不同为1
若被除数首位为1,商为1;若被除数首位为0,商为0

模2除法(计算CRC校验码)相关推荐

  1. [技术栈]CRC校验原理及C#代码实现CRC16、CRC32计算FCS校验码

    1.CRC.FCS是什么 比奇小说网 https://m.biqi.org/ CRC,全称Cyclic Redundancy Check,中文名称为循环冗余校验,是一种根据网络数据包或计算机文件等数据 ...

  2. 32位crc校验码程序_CRC码计算及校验原理的最通俗诠释

    CRC校验原理 CRC校验原理看起来比较复杂,好难懂,因为大多数书上基本上是以二进制的多项式形式来说明的.其实很简单的问题,其根本思想就是先在要发送的帧后面附加一个数(这个就是用来校验的校验码,但要注 ...

  3. CRC校验码计算,以常用CRC-8为例

    CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定. CRC校验原理:在要发送的帧后面附加一个数,生成一个新帧发送给接收端.它要使所生成的新帧 ...

  4. C语言CRC校验码计算与校验

    循环冗余校验(cyclicredundancy check,CRC)对传输序列进行一次规定的除法操作,将除法操作的余数附加在传输信息的后面.在接收端,也对收到的数据做相同的除法.如果接收端除法得到的结 ...

  5. Python—CRC校验码,计算2进制校验数据的校验码

    有一些网站可以实现crc校验,但几乎均为国际标准没法修改,缺少自定义功能,在CSDN看到这篇文章的修改版,但我认为自定义功能仍然不完善,所以优化出一个二进制信息码,多项式不限的自定义CRC校验码程序. ...

  6. 16位CRC校验码计算,485MODBUS计算

    CRC计算方法是: 1. 加载一值为0XFFFF的16位寄存器,此寄存器为CRC寄存器. 2. 把第一个8位二进制数据(即通讯信息帧的第一个字节)与16位的CRC寄存器的相异或,异或的结果仍存放于该C ...

  7. Modbus-RTU通讯协议中CRC校验码的计算步骤及算法代码

    在CRC计算时只用8个数据位,起始位及停止位,如有奇偶校验位也包括奇偶校验位,都不参与CRC计算. CRC计算方法是: 1. 预置1个16位的寄存器为十六进制FFFF(全1),此寄存器为CRC寄存器 ...

  8. 【计算机网络】CRC校验码||循环冗余码详解及计算习题

    [计算机网络]CRC校验码||循环冗余码详解及计算习题

  9. can协议crc计算_基于CAN总线的CRC校验码的原理与实现

    基于CAN总线的CRC校验码的原理与实现 王鹏 [摘 要]CAN总线又称为控制器局域网技术,属于工业现场总线,应用范围很广.CAN系统中通常 采用反馈重发机制对通信过程进行差错控制.当接收端反馈给发送 ...

  10. 如何计算CRC校验码(循环冗余检验码)

    1.什么是CRC校验    在数据通信领域,CRC(循环冗余检验码)常用的一种查错校验码,它的信息字段和校验字段的长度可以任意选定.它主要是通过对要传输的数据进行多项式计算,然后将得到的结果附在数据帧 ...

最新文章

  1. maven的仓库:本地和远程
  2. 92.芯片组 93.北桥 94.南桥
  3. Vue开发中有着原声app效果的滚动的第三方插件better-scroll在github的上面的运用方法及地址
  4. vue 筛选组件_记一个复杂组件(Filter)的从设计到开发
  5. LeetCode 2079. 给植物浇水(前缀和)
  6. r语言简介_R语言简介
  7. linux代码段映射,bss,data,text,rodata,堆,栈,常量段与其各段在物理存储中关系
  8. linux绑定硬件的软件吗,Linux下安装的硬件方法
  9. 唏嘘!一代手机OS退场:没生态、没开发者是失败主因
  10. 物联网 mysql数据库优化_MySQL数据库优化大全方法汇总-阿里云开发者社区
  11. 容量规划的一些探讨与实践
  12. macos无法验证此app不包含恶意软件_macOS 下 Electron 程序的签名及公证
  13. 用C语言实现C++中类的封装继承多态
  14. Ant Design与Ant Design pro入门
  15. 7.3 使用“设计视图”创建报表
  16. 让每个生命带着尊严谢幕!淘宝竟有这样一家“临终关怀”网店
  17. 计算机语言的发明者,Lisp语言发明者、“人工智能之父” John McCarthy与世长辞
  18. 力扣刷题记录_字符串(自学)
  19. 知识蒸馏⚗️ | YOLOv5知识蒸馏实战篇
  20. puzzle(1311)点亮所有的灯

热门文章

  1. linux oracle ora-12162,oracle ORA-12162: TNS:net service name is incorrectly specified
  2. 桌面美化 | win10高仿mac桌面
  3. Struts1与Struts2原理以及区别
  4. 微搭自定义组件库开发环境搭建教程
  5. 机器学习与数据挖掘的区别(一点个人理解)
  6. php简易微博系统,基于html、css、PHP开发一个简单的微型博客系统(微博)
  7. python编辑器怎么放大字体_增大python字体的方法步骤
  8. 【Markdown小技巧】 整理小图标和表情符号
  9. 电机与拖动matlab仿真,Matlab仿真软件在电机与拖动中的应用
  10. 系统集成项目管理工程师13《项目配置管理》