package singleTon;
public class Logy {
public static void main(String[] args) {
int a =6; //6的二进制 0110
int b =4; //4的二进制 0100
//^代表异或运算 1101 向左移动两位 那就是1000 也就是8
System.out.println(a^b);
System.out.println(b<<2);
//由此可见 <<位运算符优先级大于逻辑运算符
//B =4<<2 0100 0001 0000 = 16
//a =6 0100 0000 0110 = 6
// 0001 0110 = 22
//异或就是 假假为假,真真为假,真假为真。
System.out.println(Integer.toBinaryString(a));
System.out.println(Integer.toBinaryString(b));
System.out.println(a^b<<2);//结果为22
System.out.println((a^b)<<2);//结果为8
System.out.println(a^(b<<2));//结果为22
System.out.println(a^16);
}
}
JAVA基础-异或问题
最新推荐文章于 2019-09-16 21:31:10 发布