方式2//
a=a^b; //这里吧a^b的值 复制给了 a,
b=a^b; //a^b=a^b^b=a; 解释下:( 因为根据异或2次同一个数等于它本身的原理)这里的a指(a^b),
a=a^b; //a^b=a^b^a=b; 解释:看上一步骤,这里的b已经被上面的a赋值了,所以a^b 也就可以理解为 a^a,参照第一步,a之前被 a^b赋值。 所以结果就是 a^ (a^b) ==b; 这样通过异或就完成了不用第三方转换
根据原理(一个数异或2次同一个数等于它本身); 你看看,希望你能快速理解 |
|