JAVA基础-异或问题

xiaoxiao2021-02-28  115

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); } }
转载请注明原文地址: https://www.6miu.com/read-41186.html

最新回复(0)