不使用第三个变量交换两个数的值
不使用第三个变量交换两个数的值
-
相加法
let a = a+b let b = a-b let a = a-b
-
异或运算符
相异为一,相同为零。
假如 a = 10,b = 12。那么它们的异或操作为 1010 与 1100,结果为 0110。
let a = a^b let b = a^b let a = a^b
由此我们可以发现一个结论,两个相同的二进制数进行异或的时候,它会等于0;任意一个二进制数与 0 进行异或,它会等于不为 0 的那个数
这一路,灯火通明