利用javaScript语言举个例子:java
var a = '111',b = '222' a = a ^ b b = a ^ b a = a ^ b console.log(a) // '222' console.log(b) // '111'
'^'符号是js中的异或运算,大部分语言都有,不过表示的符号不必定同样,直接替换例子中便可;优化
因为异或运算属于更底层一些的操做,因此比起咱们平时声明多一个变量来交换两值的方法快很多;spa
如下是声明变量交换两值的方法:code
var a = '111',b = '222',c c = a a = b b = c console.log(a) // '222' console.log(b) // '111'
附:位运算中,除了异或运算有优化代码的效果以外,还有其余的一些,好比:shl运算。blog
a shl 1 等同于 a * 2,也由于是底层的运算,因此前者会比后者快,全部跟2的n次方相乘的运算均可以使用shl来代替ip