1. 模2运算

模2运算是一种二进制算法,CRC校验技术中的核心部分。本质是异或运算,且不考虑进位和借位。

2. 模2加法

0+0=0   0+1=1  1+0=1   1+1=0

例如0101 + 0011 = 0110,列竖式计算:

 0 1 0 1
+  0 0 1 1
—————————————   0 1 1 0

3. 模2减法

0-0=0   0-1=1   1-0=1   1-1=0

例如0110-0011=0101,列竖式计算:

   0 1 1 0-  0 0 1 1
—————————————   0 1 0 1

4. 模2乘法

0×0=0   0×1=0   1×0=0   1×1=1

  • 多位二进制模2乘法类似于普通意义上的多位二进制乘法
  • 不同之处在于后者累加中间结果(或称部分积)时采用带进位的加法
  • 模2乘法对中间结果的处理方式采用的是模2加法

例如1011 × 101=100111,列竖式计算:

         1 0 1 1
×         1 0 1
———————————————————         1 0 1 10 0 0 0
+   1 0 1 1
———————————————————     1 0 0 1 1 1

5. 模2除法

被除数位数足够,即位数 ≥ 除数位数,则商对应写1,不够则商对应写0。
得到的余数始终比除数位数少1。
例如1011 × 101=100111,列竖式计算:
(1)11010位数足够,对应商写1

(2)异或运算得10011,位数同样足够,对应商写1

(3)将异或运算的结果和除数相减,得00000,省略不写,向后拿1,位数不够商对应为0。后面的几个0同理,直到向后拿0,得到10110,位数足够,商对应为1

(4)之后的运算都同理,直到被除数没有数可拿后,得到4位余数

模2运算 / 模2算法(模2加法、模2减法、模2乘法、模2除法)相关推荐

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

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

  2. 【密码学】C 语言实现 RSA 模幂运算

    RSA模幂运算 1. 实验内容 按照平方乘算法和模重复平方法,分别计算am mod n 2. RSA介绍 RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi ...

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

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

  4. 2---理解正余弦、复数求模、反正切和乘除运算的CORDIC算法实现

    CORDIC(Coordinate Rotation Digital Computer)算法是J.Volder在1956在航空控制系统设计中构思的,但其实相似的算法在更早的1624年就已经被Henry ...

  5. 基于加取模和循环左移运算的扩散算法matlab

    基于加取模和循环左移运算的扩散算法 实际上是对前面两种扩散算法的显著改良. LSB3表示取数据的最低三位,对于8b的灰度图像,每个像素都是8b的,所以LSB3得到的数据范围始终在0~7,是一个像素点数 ...

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

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

  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. 斐波那契数列取模(大数)分治算法

    斐波那契数列取模(大数)分治算法 这是算法课程上完分之策略后老师留的一道题目: 菲波那契数列如下:1,1,2,3,5,8,13,21,34......其中a[1] = 1, a[2] = 1, a[n ...

  10. 初等数论--同余方程--同余方程运算:模逆运算,模指数运算

    初等数论--同余方程--同余方程运算:模逆运算,模指数运算 博主是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理.算法,加深记忆也方便日后查找:如果有错,欢迎指正. 我整理成一个系列 ...

最新文章

  1. django学习笔记之forloop
  2. 机器人学习笔记(3) 正运动学和逆运动学
  3. ios label 高度紫石英_iOS_NSMutableAttributedString和自适应宽度高度
  4. linux系统安装pidgin,linux下QQ的安装(pidgin的安装)
  5. 在Windows中查看文件的MD5值
  6. 如何学习单片机?学习单片机的四个步骤
  7. 新一代iPad Pro外形泄露:方形后摄瞩目
  8. 使用 Eclipse TPTP 测试 Web 应用的方法与扩展
  9. 什么证据可以证明婚内出轨?
  10. spring2.5.6升级到4.3.7常见问题
  11. win7网络上计算机进不去,Win7电脑开机进不了系统怎么办?
  12. obj-y,obj-m 区别
  13. 《计算机是怎样跑起来的》优化使用VBScript语言编写的石头剪刀布游戏
  14. 湖北二本计算机大学录取分数线,湖北二本投档分数线
  15. 杨辉三角c语言杭电,杭电 杨辉三角
  16. Python学习第一次笔记
  17. c++ascii码转换为数字_平面设计人员必备Image Ascii,快速将图像转换为Ascii字符画!...
  18. websocket 那些配置及具体的Demo
  19. 软考含金量大么?考软考有什么用呢?
  20. 物联网中的边缘计算介绍(一)【产品篇03】

热门文章

  1. useragent 全集 firefox插件 useragetn switch 使用
  2. JanusGraph学习笔记
  3. PMP试题 | 每日一练,快速提分 9.3
  4. rx550 黑苹果_黑苹果Hackintosh显卡入手指南
  5. 计算机多余自动启动项,去掉多余的开机启动项
  6. mac系统用什么linux远程工具,推荐几个Mac/Linux下比较好用的工具
  7. wps表格宏被禁用如何解禁_wps宏被禁用如何打开?
  8. PDF、图片、合并、转化工具
  9. Gephi教程实战:从入门到精通
  10. undefined reference to错误的解决方法