JavaScript按位運算符
操作符 | 名稱 | 描述 |
---|---|---|
& | 按位與 | 如果兩個位均爲1,則將每個位設置爲1 |
Ι | 按位或 | 如果兩位中的一位爲1,則將每個位設置爲1 |
^ | 按位異或 | 如果兩個位中只有一個爲1,則將每個位設置爲1 |
~ | 非 | 反轉所有位 |
<< | 零填充左移 | 通過從右側推入零來左移,讓最左邊的位掉下來 |
>> | 算術右移 | 通過從左側推入最左邊的位的副本來向右移動,並使最右邊的位脫落 |
>>> | 零填充右移 | 通過從左側推入零來向右移動,並讓最右邊的位脫落 |
例子:
操作 | 結果 | 等價 | 結果 |
---|---|---|---|
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。
一位操作例子:
操作 | 結果 |
---|---|
0&0 | 0 |
0&1 | 0 |
1&0 | 0 |
1&1 | 1 |
按位或
當對一對位執行按位或操作時,如果其中至少有一個位爲1,則返回1,否則返回0:
一位操作例子:
操作 | 結果 |
---|---|
0Ι0 | 0 |
0Ι1 | 1 |
1Ι0 | 1 |
1Ι1 | 1 |
按位異或
當對一對位執行按位異或操作時,如果位不同(相異而或),則返回1:
一位操作例子:
操作 | 結果 |
---|---|
0^0 | 0 |
0^1 | 1 |
1^0 | 1 |
1^1 | 0 |