1. 主页
  2. 文档
  3. 汇编语言
  4. 位运算实现加减乘除

位运算实现加减乘除

计算机只认识0 1

基本数学是建立在加减乘除

 

更加要的是+法。

减法:就是 + 一个负数

乘法:多个数相加

除法:找够得到的位数。

 

4+5?

0000 0100

0000 0101

————————  加法,计算机是不会直接加的。它只知道 与或异或非

0000 1001

 

第一步 异或运算

0000 0100

0000 0101

———————— 如果不考虑进位,异或就可以直接出结果。

0000 0001

 

第二步 与运算

0000 0100

0000 0101

———————— 如果与运算,判断进位,如果,与运算结果为0,没有进位。

0000 0100

 

第三步 将与运算的结果,左移一位。  0000 1000  进位后的结果。

 

第四步 异或运算, 不一样为1.

0000 0001

0000 1000

—————————

0000 1001

第五步 与运算,判断是否有进位。

0000 0001

0000 1000

———————-

0000 0000

 

所以最终的结果就是与运算为0的结果的上一个异或运算。

 

4+5=9

0000 0100 + 0000 0101 = 9

 

====================================================================

 

4-5  就是 4+(-5)

0000 0100

1111 1011

————— 减法,计算机是不会直接减的。

1111 1111   -1

 

0000 0100

1111 1011

————— 异或,如果不考虑进位,异或就可以直接出结果。

1111 1111   -1

 

0000 0100

1111 1011

————— 与,判断进位,如果与运算结果为0,没有进位。

1111 1111   -1

 

最终结果  1111 1111    16 ff  10进制的  -1

 

符号位又来了!!!

 

乘法: 就是x*y  y个x相加 还是加法。

除法:  本质就是减法,还是加法。 x/y   就是x能减去多少个y   20/4  能减去5

 

计算机只会加法!!!!!!!!

这篇文章对您有用吗?

我们要如何帮助您?