极奇策RPA技术教程:位运算 (NodeBitwise) - 自动化开发与配置详细指南

位运算
📖 节点概述
二进制级别的位运算节点,对两个整数(或一个整数)的二进制位进行直接操作。支持六种运算符:与、或、异或、取反、左移、右移。取反操作只使用 值 A,忽略 值 B。该节点为纯数据节点,无执行端口,通过数据连线被动输出运算结果。
💡 使用场景:
- 权限标志位操作:使用位掩码管理用户权限(如读=1、写=2、执行=4),通过位或组合权限,位与检查权限。
- 数据压缩与编码:将多个小值编码到一个整数的不同位段中,解码时使用移位和位与提取。
- 硬件寄存器模拟:在模拟底层硬件或协议时,对寄存器的特定位进行置位、清零或翻转。
- 快速数学计算:利用左移实现乘以 2 的幂次方(如
x << 3相当于x * 8),右移实现整除。
🎮 实战连线指南:如何正确使用它?
节点有两个输入端口 值 A 和 值 B,分别接收整数。通过 运算符 下拉框选择运算类型。结果从 结果 引脚输出。
场景案例:组合用户权限标志位
- 准备权限值:使用【整数】常量节点分别创建权限值:
读=1、写=2、执行=4。 - 连接运算:
- 将
读连入【位运算】的值 A。 - 将
写连入值 B。 - 运算符选择
或 (|)。
- 将
- 查看结果:
结果输出为3(二进制011),表示同时拥有读和写权限。 - 继续运算:可将结果再连入下一个【位运算】节点,与
执行=4做位或,得到7(二进制111)。
⚙️ 引脚与参数说明
📥 输入引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 值 A | INT | 第一个操作数,必须是整数。可通过控件填写默认值或连线动态传入。 |
| 值 B | INT | 第二个操作数。当运算符为取反 (~) 时忽略此值,其余运算均会使用。同样支持控件和连线。 |
⚙️ 控件参数
| 控件名称 | 类型 | 说明 | | :--------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 运算符 | 下拉选择 | 六种运算:<br>• 与 (&):两数对应位都为 1 时结果位为 1。<br>• 或 (|):两数对应位任一为 1 时结果位为 1。<br>• 异或 (^):两数对应位不同时结果位为 1。<br>• 取反 (~):单目运算,将 值 A 的每一位取反(~a = -a-1)。<br>• 左移 (<<):值 A 的二进制位向左移动 值 B 位,右侧补 0。<br>• 右移 (>>):值 A 的二进制位向右移动 值 B 位,左侧补符号位。 |
📤 输出引脚
| 引脚名称 | 数据类型 | 说明 |
|---|---|---|
| 结果 | INT | 位运算后的整数结果。 |
💎 小贴士:
- 所有输入值会自动转为整数,传入浮点数时小数部分会被截断(如
3.9→3)。- 取反操作在 Python 中返回
-a-1,例如~0结果为-1,~5结果为-6,这是由于 Python 使用补码表示负数。- 左移一位相当于乘以 2,右移一位相当于整数除以 2。在需要高性能整数运算时可替代乘除。
- 运算符下拉框的文本中已提示对应的 Python 符号,方便熟悉代码的用户快速选择。

