位元運算
不同於上述的基本五則運算子,這裡會介紹與2進位相關的運算子。
位元運算子
在電腦中,數字都是以0/1二進位的方式編碼,像是生活中的5、87等數字,在電腦裡面則表示成以下樣貌(以7 bits為範例):
以下為在C++裡面的位元運算子:
運算子 | 意思 | 範例 |
| OR |
|
| AND |
|
| XOR |
|
| 向左位移 |
|
| 向右位移 |
|
| | & | ^ | << | >> | |
A | 0101 | 0101 | 0101 | 0101 | 0101 |
B | 1100 | 1100 | 1100 | 0001 | 0001 |
結果 | 1101 | 0100 | 1001 | 1010 | 0010 |
範例Code
範例輸出:
a | b = 13
a & b = 4
a ^ b = 9
a << 2 = 20
b >> 2 = 3
由於運算子優先處理順序的問題,我們會習慣在位元運算子兩邊加上括號:
如果不這樣做,如:
就會變成存粹輸出變數a和2。
Last updated