异或
异或运算又名半加运算,相同为0,不同为1。
Tips
- 一个比特与对它取反的值做异或,结果总是1。因此a^(~a)的结果是1s(一串1)
- x&(~0<<i)将x的最左边i位清零
- x^0s = x x^1s = ~x
#常见位操作
获取
1 | var getBit = function (num,i) { |
置位
1 | var setBit = function (num,i) { |
清零
1 | var clearBit = function (num,i) { |
更新
1 | var updateBit = function (num, i, v) { |