int a = 0xaaa;
int b = 0xccf;
int c = (a&b);
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(b));
System.out.println(Integer.toBinaryString(c));
a &= b; // 按位“与”操作符,如果两个数的二进制,相同位数都是1,则该位结果是1,否则是0.
System.out.println(Integer.toBinaryString(a));
a |= b; // 按位“或”操作符,如果两个数的二进制,相同位数有一个是1,则该位结果是1,否则是0
System.out.println("a |= b:"+Integer.toBinaryString(a));
a ^= b; // 按位“异或”操作符,如果两个数的二进制,相同位数只有一个是1,则该位结果是1,否则是0
System.out.println(Integer.toBinaryString(a));
a ~= a; // 按位“非”操作符,属于一元操作符,只对一个操作数进行操作,(其他按位操作符是二元操作符)。按位“非”生成与输入位相反的值,——若输入0,则输出1,若输入1,则输出0。
System.out.println(Integer.toBinaryString(a));
按位操作符
于 2021-12-31 09:42:25 首次发布