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基础-异或问题
最新推荐文章于 2024-04-20 17:07:27 发布
本文通过具体的Java代码示例介绍了位运算符的工作原理,特别是异或运算符的使用方法及其与其他位运算符结合使用时的行为表现。文章还解释了位运算符的优先级,并展示了如何将十进制数转换为二进制形式以便更好地理解位操作。
1203

被折叠的 条评论
为什么被折叠?



