其他分享
首页 > 其他分享> > 【计算机组成原理】模2运算(/2 )

【计算机组成原理】模2运算(/2 )

作者:互联网

 

最近在看CRC算法,但是发现其中“模2运算”不太清楚,就搜找资料,整理了此文章!!

模2运算定义

模2运算是用于二进制的四则运算。模2运算的加减运算就是异或运算,

异或:是不带进位的加法运算,当前计算结果记录的的是进位的情况。也可以理解成 0 是偶数 1是奇数,奇数+偶数=奇数   , 偶数+偶数=偶数,奇数+奇数=偶数,CRC就是用这个思想。

逻辑与:是不带进位的加法运算,当前计算结果记录的的是进位的情况。

 

两者不一样等于1

两者一样等于0

数学符号: ⊕ 英文简称: xor 程序符号: ^ 外文名: exclusive OR 从生理学角度来解释,如果男人代表1,女人代表0,那么,两个男人或者是两个女人,都是生不出孩子的。只有一个男人和一个女人,才能够繁衍后代。怎么繁衍的呢?通过 xor ,我这么解释,是不是 xor 这个符号一下子就记住了?? 模2运算的原理 模2加法,模2减法,模2乘法,模2除法

模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”或“/”表示模2除。与四则运算不同的是模2运算不考虑进位和借位,即模2加法是不带进位的二进制加法运算,模2减法是不带借位的二进制减法运算。这样,两个二进制位相运算时,这两个位的值就能确定运算结果,不受前一次运算的影响,也不对下一次造成影响。

①模2加法运算定义为:

这是一种二进制的运算,等同于“异或”运算。 通常用于计算机和电子领域。
规则是两个序列模二相加,即两个序列中对应位,相加,不进位,相同为0,不同为1。
1+1=0+0=0
1+0=0+1=1

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
            00 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


 

标签:运算,二进制,加法,原理,减法,除法,进位,计算机
来源: https://www.cnblogs.com/cdaniu/p/16388036.html