计算机在计算时通常使用补码来进行运算
正数的原码=原码=补码
例如 4;
原码:00000000 00000000 00000000 00000100
反码:00000000 00000000 00000000 00000100
补码:00000000 00000000 00000000 00000100
负数:
反码=符号位不变原码取反
补码=反码+1
例如 -4;
原码:10000000 00000000 00000000 00000100
反码:11111111 11111111 11111111 11111011
补码:11111111 11111111 11111111 11111100
关于补码之间的计算:
例如 4 和 -4
4和-4的补码分别为:
00000000 00000000 00000000 00000100
11111111 11111111 11111111 11111100
结果:100000000 00000000 00000000 00000000
可以看到这里溢出了一位,这种运算情况我们通常是连同符号位相加,移除溢出的那一位
得到值就是:00000000 00000000 00000000 00000000
可以看到当前符号位为0 ,所以反码原码补码都一样
原码为00000000 00000000 00000000
最终的值:0