操做符 | 名稱 | 描述 |
---|---|---|
& | 按位與 | 若是兩個位均爲1,則將每一個位設置爲1 |
Ι | 按位或 | 若是兩位中的一位爲1,則將每一個位設置爲1 |
^ | 按位異或 | 若是兩個位中只有一個爲1,則將每一個位設置爲1 |
~ | 非 | 反轉全部位 |
<< | 零填充左移 | 經過從右側推入零來左移,讓最左邊的位掉下來 |
>> | 算術右移 | 經過從左側推入最左邊的位的副原本向右移動,並使最右邊的位脫落 |
>>> | 零填充右移 | 經過從左側推入零來向右移動,並讓最右邊的位脫落 |
例子:javascript
操做 | 結果 | 等價 | 結果 |
---|---|---|---|
5 & 1 | 1 | 0101 & 0001 | 0001 |
5 Ι 1 | 5 | 0101 Ι 0001 | 0101 |
~ 5 | 10 | ~0101 | 1010 |
5 << 1 | 10 | 0101 << 1 | 1010 |
5 ^ 1 | 4 | 0101 ^ 0001 | 0100 |
5 >> 1 | 2 | 0101 >> 1 | 0010 |
5 >>> 1 | 2 | 0101 >>> 1 | 0010 |
當對一對位執行按位與操做時,若是兩個位都爲1,則返回1。html
一位操做例子:java
操做 | 結果 |
---|---|
0&0 | 0 |
0&1 | 0 |
1&0 | 0 |
1&1 | 1 |
當對一對位執行按位或操做時,若是其中至少有一個位爲1,則返回1,不然返回0:ide
一位操做例子:code
操做 | 結果 |
---|---|
0Ι0 | 0 |
0Ι1 | 1 |
1Ι0 | 1 |
1Ι1 | 1 |
能夠在線嘗試一下htm
當對一對位執行按位異或操做時,若是位不一樣(相異而或),則返回1:ip
一位操做例子:get
操做 | 結果 |
---|---|
0^0 | 0 |
0^1 | 1 |
1^0 | 1 |
1^1 | 0 |