1. 代码
let a = 3;
let b = 4;
a = a ^ b;
b = a ^ b;
a = a ^ b;
2. 异或的性质
- 不同为1,相同为0(可以看做是无进制位的加法)
- 交换律: a ^ b = b ^ a;
- 结合律: (a ^ b) ^ c = a ^ (b ^ a);
- 0 ^ x = x;
- x ^ x = 0;
3. 证明
下面证明1中的代码
- a = 3 ^ 4;
- b = (3 ^ 4) ^ 4 = 3 ^ 0 = 3;
- a = (3 ^ 4) ^ 3 = 4 ^ 0 = 4;