为什么以及如何做 的System.out.println(〜4); 给出输出-5 和 的System.out.println(〜0); 给出输出-1?
答案 0 :(得分:10)
4 is 00000000 00000000 00000000 00000100
~4 is 11111111 11111111 11111111 11111011 = -5
0 is 00000000 00000000 00000000 00000000
~0 is 11111111 11111111 11111111 11111111 = -1
答案 1 :(得分:1)
否定数字会反转它的位数。但是,在逻辑上将 - (负)符号放在数字上它变为1+(~x)
。
自-x = 1+(~x)
以来
因此(~x) = -x -1
答案 2 :(得分:0)