一、异或运算
1、异或(^)运算说明
当对两个二进制位进行比较:如果两个位相同,则结果为0;如果两个位不同,则结果为1。
当对两个布尔表达式运算时,两个结果不同(一个true,一个false),返回true;两个结果相同(同为true,同为false),返回false
2、特点:
任何数和0做异或运算,结果仍然是原来的数,即a ^ 0 = a。
任何数和其自身做异或运算,结果是0,即a ^ a = 0。
异或运算满足交换律和结合律,即a ^ b ^ a = b ^ a ^ a = b ^ (a ^ a) = b ^ 0 = b。
3、基本示例
int a = 5; // 二进制表示: 0101
int b = 3; // 二进制表示: 0011
int result = a ^ b; // 异或操作
System.out.println("异或结果: " + result); // 输出: 6,二进制表示: 0110
二、算法示例
1、