我在Solidity中看到一个if语句,如下所示:
// Set a flag if this is an NFI.
if (_isNF)
_type = _type | TYPE_NF_BIT;
|
是什么意思?通常它的意思是“或”,但在这里对我来说没有意义...
答案 0 :(得分:1)
按位或一种bitwise operation。例如,可以使用一些开关标志(指示器)进行进一步操作。
答案 1 :(得分:1)
这是bitwise or。正如评论所说,该语句设置了一个标志。例如。如果_type
是(二进制)00100100
并且TYPE_NF_BIT
是00000010
,则结果将是00100110
-即,确保的第二位的值_type
设置为1。这样一来,您最多可以在一个字节中存储8个布尔值。