`

模2运算

    博客分类:
  • Math
 
阅读更多
模2运算的原理 模2加法,模2减法,模2乘法,模2除法 

2011-05-06 23:24:47|  分类: c |  标签:模2除法  模2运算的原理  模2加法  模2减法  模2乘法   |字号 订阅
模2运算的原理(转)


模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“•”表示模2乘,“÷”或“/”表示模2除。与四则运算不同的是模2运算不考虑进位和借位,即模2加法是不带进位的二进制加法运算,模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

②模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

③模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 1
     0 0 0 0
+ 1 0 1 1
────────
   1 0 0 1 1 1

④模2除法运算定义为:
0÷1=0        1÷1=1
多位二进制模2除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。后者按带借位的二进制减法,根 据余数减除数够减与否确定商1还是商0,若够减则商1,否则商0。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义 的。实际上,在CRC运算中,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2 除法运算法则,那么余数首位是1就商1,是0就商0。例如1100100÷1011=1110……110,列竖式计算:
               1 1 1 0
       ────────
1 0 1 1〕1 1 0 0 1 0 0
      - 1 0 1 1
      ──────
           1 1 1 1
        - 1 0 1 1
       ──────
             1 0 0 0
          - 1 0 1 1
         ──────
               0 1 1 0
            - 0 0 0 0
           ──────
                 1 1 0
分享到:
评论

相关推荐

    关于模2加和模2乘的运算规则介绍

    - **纠错编码**:利用模2运算可以构建各种纠错编码方案,提高数据传输的可靠性。 #### 示例分析 为了更好地理解模2加法和乘法,我们可以通过一个具体的例子来进行分析。假设我们有一个二进制数1011101,对其进行模...

    模2乘与模2加运算规则

    在计算机科学和通信领域,模2乘与模2加运算是基本的二进制运算,它们在二进制系统中扮演着至关重要的角色。本文将深入探讨这两种运算及其在实际应用中的意义。 首先,让我们来看一下模2加的规则。在二进制系统中,...

    C语言实现模二除法

    用C语言实现模二除法。 模2除法结果与异或相同,与算术除法类似,但每一位除的结果不影响其它位,即不向上一位借位。在循环冗余校验码(CRC)的计算中有应用到模2除法。

    三维模型布尔运算 求并、交、差

    2. **相交**:交集操作返回的是所有参与运算的几何体共有的部分。如果将一个球体和一个立方体相交,结果将是球体嵌入立方体内的部分。这个功能常用于创造洞穴、镂空结构或者特定形状的孔洞。 3. **相减**:也称为...

    密码基础指数模运算

    使用这些性质,我们可以将指数模运算分解为多个小的模运算,从而提高计算效率。 快速指数算法: 要计算 x 的 e 次方对 m 取余的值,我们可以使用快速指数算法。该算法的步骤如下: 1. 将 e 拆分为多个小的指数 2....

    多项式的模幂运算

    有限域F2 多项式的模幂运算 对指数进行二进制分解 结合位运算 加快运算速度

    模2除法的原理

    模2除法的核心在于“模2减”这一概念,这里的“模2”意味着所有运算均基于模2运算规则进行。模2减实际上等同于按位异或(XOR)操作,其特点是当两个比特相同时结果为0,反之则为1。具体来说: 1. **模2减(按位异或)...

    易语言大数幂模运算

    在易语言中,大数幂模运算是一项重要的数学计算功能,主要涉及到大整数的乘方以及模运算。这两种运算在密码学、数学计算、编码等领域有着广泛应用。 大数幂模运算通常包括两个关键部分:大数乘方(也称幂运算)和模...

    模二求逆程序.zip_matrix_模2求逆矩阵_模二求逆程序_模的求逆_程序求模的逆

    但在模二运算中,我们不谈论传统的“逆”,而是寻找一个矩阵B,使得AB或BA的结果是对角线元素全为1,非对角线元素全为0的矩阵,这在模2运算下相当于单位矩阵。 这个“模二求逆程序”是一个用C语言编写的程序,它...

    Objective-C 模运算演示

    在编程领域,特别是Objective-C语言中,模运算(也称为取模运算或余数运算)是一种基础且重要的算术操作。模运算符 `%` 被用来找出两个整数相除后的余数。这个运算符在多种场景下都有用武之地,比如处理循环、检查...

    a^b mod n 模乘运算

    RSA算法中求模乘运算的结果 void modular exponentitation int x int r int p int t { int a b c; a x;b r;c t; if b 0 如果b为零 则结果等于1 { printf "%d" c ; 输出结果 return; } if b>0 ...

    大数的幂运算和幂模运算(加法链和蒙哥马利算法的混合)

    蒙哥马利算法则是一种更为高效的幂模运算方法,它利用了模数的特殊形式(通常是2的幂次减1),将幂模运算转化为简单的乘法和除法。蒙哥马利算法通过预处理步骤,将乘法转换成模数内的乘法,从而大大降低了计算复杂度...

    模逆和模幂计算与应用

    **模幂运算**(计算 ak mod n)是指数运算在模 n 下的结果。在RSA中,公钥加密是基于幂运算,即明文 m 被加密为 c = m^e mod n,而解密使用私钥 d,c^d ≡ m mod n。在ElGamal加密中,加密同样涉及模幂运算,但解密...

    领域平均模板运算

    对于图像的低频处理。对于本代码,只是模板的其中一种。可以随意改变其模板类型,实现不同的模板运算。

    模2多项式类及加减乘除各自运算java实现

    模2多项式类及加减乘除各自运算java实现 模2多项式类及加减乘除各自运算java实现

    第三章-运算方法与运算器

    举例来说,如果要进行加法运算X+Y,那么只需要将X的补码和Y的补码进行按位相加操作,然后对结果进行模2运算即可得到最终结果。补码加法的关键在于它能够处理负数的加法,并且可以直接应用于ALU中。 定点数的减法...

    大数运算包含加,减,乘,除,取模,幂运算,模幂运算。支持十进制运算,二进制运算.zip

    大数运算处理的是超出普通整型数据类型范围的数值,通常涉及的运算包括加法、减法、乘法、除法、取模以及幂运算和模幂运算。在给定的"大数运算包含加,减,乘,除,取模,幂运算,模幂运算。支持十进制运算,二进制...

    RSA中的模幂运算之平方乘算法实现平方乘函数.txt

    ### RSA中的模幂运算之平方乘算法实现 #### 背景介绍 RSA是一种非对称加密技术,广泛应用于安全通信领域。它基于大整数分解的数学难题,确保了加密的安全性。在RSA加密与解密的过程中,核心操作是进行模幂运算,即...

    Unity CSG 布尔运算插件 模型打孔 模型打洞

    2. **性能影响**:虽然CSG提供了便捷的建模方式,但过多的CSG对象可能会对运行时性能产生影响,因此合理地组织和优化模型结构是必要的。 3. **光照和材质**:布尔运算产生的新模型可能需要单独设置光照和材质,确保...

Global site tag (gtag.js) - Google Analytics