c lang misc
补码
正数的补码就是其本身
负数的补码就是在其原码的基础上,符号位不变,取反后加一。
补码存在的意义就是为了统一计算机加减
比如(7)+(-7)=0
7 -> 0000 0111(7的补码)
-7 -> 1111 1001(-7的补码)
所以相加为1 0000 0000(超出的最高位默认去掉)
比如(2)+(-3)=(-1)
2 -> 0000 0010 (2的补码)
-3 -> 1111 1101 (-3的补码)
相加为 1111 1111(-1的补码)
这样我们就可以在减法运算的时候,把数化为补码进行计算,这样就在计算时统一了加减。
from:
https://www.cnblogs.com/QKSword/p/8149053.html