[comment]: # ({40caba63-ca911365})
# 2 位运算函数

此处列出的所有函数均支持以下场景:

-   [Trigger expressions](/manual/config/triggers/expression)
-   [Calculated items](/manual/config/items/itemtypes/calculated)

关于函数参数的一般说明:

-   函数参数通过逗号分隔
-   表达式可作为参数传入
-   可选函数参数(或参数部分)通过

    `<` `>`

`<` `>`

| 函数 | <   | <   |
|--|--|--|
| **Description** | **函数特定参数** | **说明** |
| **bitand** (value,mask) | <   | <   |
| Value of "bitwise AND" of an item value and mask. | **value** - 待检测值<br>**mask** (必填) - 64位无符号integer (0 - 18446744073709551615) | 支持的值类型: int<br><br>虽然执行的是按位比较，但所有值必须以十进制形式提供和返回。例如检测第3位需与4比较而非100。<br><br>示例:<br>=> **bitand**(last(/主机/key),**12**)=8 或 **bitand**(last(/主机/key),**12**)=4 → 第3位或第4位被置位，但不同时置位<br>=> **bitand**(last(/主机/key),**20**)=16 → 第3位未置位且第5位置位 |
| **bitlshift** (value,bits to shift) | <   | <   |
| Bitwise shift left of an item value. | **value** - 待检测值<br>**bits to shift** (必填) - 位移位数 | 支持的值类型: int<br><br>虽然执行的是按位比较，但所有值必须以十进制形式提供和返回。例如检测第3位需与4比较而非100。 |
| **bitnot** (value) | <   | <   |
| Value of "bitwise NOT" of an item value. | **value** - 待检测值<br> | 支持的值类型: int<br><br>虽然执行的是按位比较，但所有值必须以十进制形式提供和返回。例如检测第3位需与4比较而非100。 |
| **bitor** (value,mask) | <   | <   |
| Value of "bitwise OR" of an item value and mask. | **value** - 待检测值<br>**mask** (必填) - 64位无符号integer (0 - 18446744073709551615) | 支持的值类型: int<br><br>虽然执行的是按位比较，但所有值必须以十进制形式提供和返回。例如检测第3位需与4比较而非100。 |
| **bitrshift** (value,bits to shift) | <   | <   |
| Bitwise shift right of an item value. | **value** - 待检测值<br>**bits to shift** (必填) - 位移位数 | 支持的值类型: int<br><br>虽然执行的是按位比较，但所有值必须以十进制形式提供和返回。例如检测第3位需与4比较而非100。 |
| **bitxor** (value,mask) | <   | <   |
| Value of "bitwise exclusive OR" of an item value and mask. | **value** - 待检测值<br>**mask** (必填) - 64位无符号integer (0 - 18446744073709551615) | 支持的值类型: int<br><br>虽然执行的是按位比较，但所有值必须以十进制形式提供和返回。例如检测第3位需与4比较而非100。 |

[comment]: # ({/40caba63-ca911365})
