举例子 CRC16 CCITT
被除数是 0x11021 最高位不参与运算 被除数就是 0x1021 (16bit,0x11021 已经是17bit) 不懂原理之前
懂原理之后 只是计算的时候 异或运算将 最高位 消灭掉了 就成了 0x1021

模二除法运规则 (来源网络整理)
当余数位数与除数位数相同时,才进行异或运算,余数首位是1,商就是1,余数首位是0,商就是0。当已经除了几位后,余数位数小于除数,商0,余数往右补一位,位数仍比除数少,则继续商0,当余数位数和除数位数一样时,商1,进行异或运算,得新的余数,以此至被除数最后一位。

crc 检验码位 计算后的余数
除数是0 << 16
商为 0
被除数是 0x11021
余数是 0

除数是1 << 16
商为 1
被除数是0x11021
余数是0x1021

除数是 2 << 16
被除数是 0x11021
余数是0x2042

实际发送的数据=( 原数据<<(CRC的冗余计算的宽度)) | (CRC)

现在百度查的资料一出来文字描述的方法, 和实际的用法有出入
文字描述的过程是人的计算过程
计算机的计算过程 和人的计算方式不一样, 请注意

crc table 的生成代码 ccitt 标准 生成方法
libcrc github 中找到的


CRC thread safe xmodem 计算方法 (来源网络整理)

CRC 算法的核心就是 模二运算,FCS 帧校验序列 的核心算法是CRC,模二是祖宗相关推荐

  1. 模幂运算问题,使用朴素算法和重复-平方算法(快速幂+C#计算程序运行时间)

    1.什么是模幂运算问题 给出a, k, mod 计算ak(%mod)a^k (\%mod)ak(%mod)的值 k是一个非常大的正整数(超过1e7) 附,一个可以提交的地方: leetcode 372 ...

  2. 谷歌AutoML新进展,进化算法加持,仅用数学运算自动找出ML算法

    机器之心报道 参与:魔王.杜伟.小舟 授权转载自公众号机器之心 仅使用基础数学运算就能自动搜索机器学习算法?谷歌 Quoc V. Le 等人提出了 AutoML-Zero 方法. AutoML-Zer ...

  3. 数字电路模2运算原理,及模2的加减乘除详解

    模2运算的原理(转) 模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则.与四则运算相同,模2运算也包括模2加.模2减.模2乘.模2除四种二进 ...

  4. C++modular exponentiation模幂运算的实现算法(附完整源码)

    C++modular exponentiation模幂运算的实现算法 C++modular exponentiation模幂运算的实现算法完整源码(定义,实现,main函数测试) C++modular ...

  5. 如何高效进行模乘、模幂运算?——蒙哥马利算法(Montgomery Algorithm)从入门到精通

    蒙哥马利算法(Montgomery Algorithm)从入门到精通 ​ 加密算法中,模运算(包括模乘.模幂运算)是难以避免的,如何高效地进行模运算,是提高算法效率的一个关键. 直观的想法 ​ 在数学 ...

  6. CRC检错中的模2运算方法

    模2方法:每除余数删首位,首位逢一商一逢零商零,算至余数无可补. 在CRC检错中,先将数据划分成组,假设每组k个比特称为M,此时要在后面加入n位冗余码,构成(k+n)位. 将M后加n个零后除以收发双方 ...

  7. 幂运算 数组_Super Pow:如何高效进行模幂运算

    点击上方蓝字设为星标 东哥带你搞定算法~ 今天来聊一道与数学运算有关的算法题目,LeetCode 372 题 Super Pow,让你进行巨大的幂运算,然后求余数. int superPow(int ...

  8. Modular_exponentiation模幂运算

    https://en.wikipedia.org/wiki/Modular_exponentiation 蒙哥马利(Montgomery)幂模运算是快速计算a^b%k的一种算法,是RSA加密算法的核心 ...

  9. 一看“左程云:200道算法与数据结构”,二刷“阿里云:70+算法题、30种大厂笔试高频知识点”,3月过去终于挺进我梦中的字节!

    不管是学生还是已经工作的人,我想彼此都有一个相同的梦想:进大厂! 眼看着2020年还有个三十来天就要完美收尾了,那么如何才能在未来三个月弯道超车赶上"金三银四的春招",进入梦寐以求 ...

最新文章

  1. arcgisserver修改服务器地址,ArcGIS for Server默认端口6080修改
  2. python接口自动化测试(三)-requests.post()
  3. 第一次搭建vue项目--安装vue-cli、初始化项目
  4. 南方人物周刊:智能手机割据战
  5. Python数据结构学习笔记——队列和双端队列
  6. 前端开发常见的浏览器兼容性问题?
  7. 西电网络攻防大赛--渗透测试第二题
  8. 素数 c语言 时间少,C语言判断素数怎么优化时间,1000000以内,不用代码,指点一下就好...
  9. html实现页面弹球,使用html+css+js实现弹球游戏
  10. windows2008r2补丁_我偶然发现一个严重 0day,影响 Win7 和 Server 2008 R2,微软未发补丁(详情)...
  11. python遵循什么协议_《Python网络爬虫》2.3 Robots协议的遵守方式
  12. 吊打6599元的三星?买手机莫慌 三款国产新手机将发
  13. WebPack基础入门(一):万物皆可webpack
  14. finally引起的异常丢失问题
  15. 小沙的杀球(贪心+模拟)
  16. php自动加载 依赖,php自动加载
  17. PHP array(递归)转xml,xml转array
  18. Chapter 6. MATLAB数值计算基础
  19. 直播第三方美颜sdk是什么?
  20. 这个世界的本源不是物质,而是物质背后的基本秩序-柏拉图

热门文章

  1. 不朽凡人 正文 第五百零一章 有些不同的颜野
  2. 腾讯sng后台开发一面经验
  3. 计算机一到四级考试报考科目如何选?建议保存
  4. java项目批处理(打包方法一)
  5. java 实现文件秒传_文件传输和秒传
  6. python实现二分查找代码+详解
  7. Isomap降维方法——代码实现
  8. Java并发包下的辅助工具类
  9. Rails Model
  10. JPA多表关联查询,自定义实体类接收返回的结果集