# 位运算符

所有位运算符可将操作数转换（截断）为带正负号的整数（32 位），并以相同方式返回结果。逐位执行所有运算。如果不能将操作数解释为一个数字，该操作将返回 NULL。

位运算符

| 运算符 | 全名 | 描述 |
| --- | --- | --- |
| bitnot | 位元反置 | 一元运算符运算返回逐位执行的操作数的逻辑反置。<br><br>示例：<br><br>`bitnot 17` 返回 -18 |
| bitand | 位与 | 运算返回逐位执行的操作数的逻辑 AND。<br><br>示例：<br><br>`17 bitand 7` 返回 1 |
| bitor | 位或 | 运算返回逐位执行的操作数的逻辑 OR。<br><br>示例：<br><br>`17 bitor 7` 返回 23 |
| bitxor | 位异或 | 运算返回逐位执行的操作数的逻辑异或。<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 |