# 位元運算子

所有位元運算子都會將運算元轉換 (截斷) 為帶正負號的整數 (32 位元)，並且以相同的方式傳回結果。所有運算都是依每個位元逐一執行的。如果運算元無法解譯為數字，則該運算將傳回 NULL。

位元運算子

| 位元運算子 | 運算子名稱 | 運算子函數 |
| --- | --- | --- |
| bitnot | 位元反向 | 一元運算子。該運算會傳回依每個位元逐一執行的運算元邏輯反向。<br><br>範例：<br><br>`bitnot 17` 傳回 -18 |
| bitand | 位元 and | 該運算會傳回依每個位元逐一執行的運算元邏輯 AND。<br><br>範例：<br><br>`17 bitand 7` 傳回 1 |
| bitor | 位元 or | 該運算會傳回依每個位元逐一執行的運算元邏輯 OR。<br><br>範例：<br><br>`17 bitor 7` 傳回 23 |
| bitxor | 位元 exclusive or | 該運算會傳回依每個位元逐一執行的運算元邏輯 exclusive or。<br><br>範例：<br><br>`17 bitxor 7` 傳回 22 |
| &gt;&gt; | 位元向右偏移 | 該運算會傳回第一個向右偏移的運算元。在第二個運算元中定義步驟數目。<br><br>範例：<br><br>`8 >> 2` 傳回 2 |
| &lt;&lt; | 位元向左偏移 | 該運算會傳回第一個向左偏移的運算元。在第二個運算元中定義步驟數目。<br><br>範例：<br><br>`8 << 2` 傳回 32 |