~7
7 0000 01111 (二进制)
~ 1111 10000 补码
1000 0111 +1 (高位为1 负数 需要+1)
1000 1000 源码
转换十进制
得到结果 -8
~(-8)
8 0000 1000 (二进制)
-8 1111 0111 + 1
1111 1000 (二进制)
~ 0000 0111 (高位为0 正数,不用+1)
转换十进制 7
~7
7 0000 01111 (二进制)
~ 1111 10000 补码
1000 0111 +1 (高位为1 负数 需要+1)
1000 1000 源码
转换十进制
得到结果 -8
~(-8)
8 0000 1000 (二进制)
-8 1111 0111 + 1
1111 1000 (二进制)
~ 0000 0111 (高位为0 正数,不用+1)
转换十进制 7