位操作符分爲AND、OR、XOR。
AND操作:如果兩個位都是1,結果爲1,否則爲0,操作符爲&
0 | 1 | |
0 | 0 | 0 |
1 | 0 | 1 |
OR操作:如果兩個位都是0,結果爲0,否則爲1,操作符爲|
0 | 1 | |
0 | 0 | 1 |
1 | 1 | 1 |
XOR操作:如果兩個位不同,結果爲1,否則爲0,操作符爲^
0 | 1 | |
0 | 0 | 1 |
1 | 1 | 0 |
下面兩個表達式顯示了怎麼樣使用一位操作符和位操作符來操縱一個整形值中的單個位,表格假定變量bit_number爲一個整形 值,他的範圍是從0至整形值的位數減1,並且整形值的位從右向左計數。
把指定位設置爲1:
Value = value | 1 << bit_number
把指定位設置爲0:
Value = value & ~(1 << bit_number)