描述:
在JavaScript中,可以使用按位异或运算符^来对两个数值进行异或操作。异或运算符的特点是相同为0,不同为1。 如果 p、q 两个值相同,异或结果为 0,即异或的运算法则为:0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕ 1 = 1,1 ⊕ 1 = 0(同为 0,异为 1)。这种运算捕捉了输入位的“排他性”,即输入不能同时为真。
异或计算
// 异或的计算
let a = 1; // 二进制表示为 0001
let b = 5; // 二进制表示为 0101
let result = a ^ b; // 异或结果的二进制为 0100,即十进制的4
console.log(result); // 输出: 4
交换变量
let a = 10;
let b = 20;
// 使用异或交换a和b的值
a = a ^ b;
b = a ^ b; // b = (a ^ b) ^ b = a
a = a ^ b; // a = (a ^ b) ^ a = b
console.log(a); // 输出: 20
console.log(b); // 输出: 10