我无法理解以下代码如何给出-12。请帮帮我。
int a=11;
int result=~a;
System.out.println(result);
我认为它会给4.但是我看到前面的零 我想它与2的补充有关,但无法弄清楚如何。
答案 0 :(得分:4)
11
的二进制表示形式为00000000000000000000000000001011
。
该数字的否定是11111111111111111111111111110100
。
这是-12
的2的补码表示。