如果我有打印语句:System.out.println(x&0x00000001); 假设int x = -1;
为什么打印1?
我了解二进制,十六进制甚至八进制等数字系统。我不太了解print语句中使用“&”及其实际作用。
public static void main(String[] args)
{
int x = -1;
System.out.println(x & 0x00000001);
}
预期结果:“我不太清楚”
结果:1
答案 0 :(得分:1)
-1的二进制表示形式是(请阅读2的补码以了解更多信息)
11111111111111111111111111111111
0x00000001的二进制表示形式是:
00000000000000000000000000000001
当你按位求和两个数字时
00000000000000000000000000000001
因此输出为1。