1、源码、反码、补码
- 正数的源码、反码、补码都是一样的
- 负数的反码:符号位一定是1,其他位取反
- 负数的补码:符号位一定是1,反码+1
负数以补码的形式在计算机中存储
2、计算机运算4+5,二进制结果应该为0000 1001
0000 0100
0000 0101
------------(加法,计算机不会直接相加)
0000 0100
0000 0101
------------(1、先做异或,记为A,不存在进位时,此时已经得出结果,即为A)
0000 0001
0000 0100
0000 0101
------------(2、再做与,结果记为B)
0000 0100
0000 0100
0000 1000
------------(3、与的结果B左移一位,结果记为C,因为他是进位的)
0000 0001
0000 1000
------------(4、A异或C,为暂定结果)
0000 1001
0000 0001
0000 1000
------------(5、检查进位:A与C,运算结果为0,没有进位时,4的结果既是最终结果)
0000 0000
3、计算机运算4-5,二进制结果应该为1000 0001
0000 0100
1000 0101
------------(减法,转为加法4+(-5).-5计算时取补码,源码1000 0101,反码1111 1010,补码1111 1011)
0000 0100
1111 1011
------------(1、先做异或,几位A,不存在进位时,此时已经得出结果,即为A)
1111 1111
0000 0100
1111 1011
------------(2、检查进位:没有进位时,1的结果既是最终结果)
0000 0000
补码1111 1111,转为反码1111 1110,转为源码1000 0001,转为十进制-1