1.加法:
如:4+5
0000 0100 0000 0100
0000 0101 0000 0101
按位加-------------------- (1)异或--------------------- 不考虑进位的情况下,异或的结果与按位加一样
0000 1001 0000 0001
判断是否有进位,(两个都为1就有进位)。需要用到与运算(两个都为1才为1)
0000 0100
0000 0101
(2)与运算--------------------
0000 0100 结果不为0,说明(左3)有进位
即:
- 计算机先进行异或(不一样为1)的操作---(0000 0001)
- 再进行与运算(都为1时为1),如果与运算结果(0000 0100)不为0说明二进制同一位的都是1,需要进位(与运算结果左移一位)---(0000 1000);
- 将异或结果和与结果继续异或运算---(0000 1001)
- 0000 0001
- 0000 1000
- --------------
- 0000 1001
- 再判断刚才执行异或运算的结果进行与运算判断是否有进位:
- 0000 0001
- 0000 1000
- --------------
- 0000 0000
过程如下:
2.减法
减法对计算机来说就是假发
(1)异或:
0000 0100
1111 1011
-----------------
1111 1111
(2)判断是否有进位(与的方式)
0000 0100
1111 1011
-----------------
0000 0000
没有进位说明结果就是1111 1111 即16进制FF(负数以补码形式存在),有符号的十进制就是-1