平時(shí)很少用到按位操作符,總是記不清楚,特此記錄一下:
| 運(yùn)算符 | 用法 | 描述 |
|---|---|---|
| 按位與( AND) | a & b |
對(duì)于每一個(gè)比特位,只有兩個(gè)操作數(shù)相應(yīng)的比特位都是1時(shí),結(jié)果才為1,否則為0。 |
| 按位或(OR) | a | b |
對(duì)于每一個(gè)比特位,當(dāng)兩個(gè)操作數(shù)相應(yīng)的比特位至少有一個(gè)1時(shí),結(jié)果為1,否則為0。 |
| 按位異或(XOR) | a ^ b |
對(duì)于每一個(gè)比特位,當(dāng)兩個(gè)操作數(shù)相應(yīng)的比特位有且只有一個(gè)1時(shí),結(jié)果為1,否則為0。 |
| 按位非(NOT) | ~ a |
反轉(zhuǎn)操作數(shù)的比特位,即0變成1,1變成0。 |
| 左移(Left shift) | a << b |
將 a 的二進(jìn)制形式向左移 b (< 32) 比特位,右邊用0填充。 |
| 有符號(hào)右移 | a >> b |
將 a 的二進(jìn)制表示向右移b(< 32) 位,丟棄被移出的位。 |
| 無(wú)符號(hào)右移 | a >>> b |
將 a 的二進(jìn)制表示向右移b(< 32) 位,丟棄被移出的位,并使用 0 在左側(cè)填充。 |
參考資料:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Bitwise_Operators