二进制 -3^3 为什么 =2?求详解

为什么 = -2 打错/
算出的补码不是
11111110?...

-3^3=-2正确!
因为-3的补码是11111101,而3的补码是00000011;^是“异或”操作符,所谓“异或”,就是两个操作数按二进制位进行“不进位加”操作,显然相同为0,相异为1。那么
-3^3=11111101^00000011=11111110(因为只有最低位是相同的,其他位都是相异的)。而11111110恰是-2的补码!
温馨提示:答案为网友推荐,仅供参考
相似回答