如何检查 PowerApps 中是否设置了某个位?

How to check if a bit is set in PowerApps?

如何检查 PowerApp 中的整数值是否设置了特定位?似乎没有用于位操作的内置运算符或函数。

因为我确实需要这个来进行很少的操作,所以使用外部/自定义连接器对我来说可能太昂贵

要查找数字 val 的位 b 是否已设置,您可以使用如下表达式:

RoundDown(Mod(val,Power(2,b+1))/Power(2,b),0)

此表达式的示例如下所示:

公式

Mod(Trunc(Number / (2 ^ Bit)), 2) = 1

如果设置了值 NumberBit 标志(从零开始计数),则此表达式将为 true。否则 false.

例子

32 (00100000)

Number = 32 Bit = 0 : false
Number = 32 Bit = 4 : false
Number = 32 Bit = 5 : true

33 (00100001)

Number = 33 Bit = 0 : true
Number = 33 Bit = 4 : false
Number = 33 Bit = 5 : true

可重用性

如果您打算在您的应用中经常使用它,您可能需要 register it as a custom function 以便于使用