异或

208 阅读1分钟

描述:

在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