在Solidity中,|在“如果”的背景下意味着什么?

时间:2019-02-08 15:35:39

标签: if-statement solidity

我在Solidity中看到一个if语句,如下所示:

    // Set a flag if this is an NFI.
    if (_isNF)
      _type = _type | TYPE_NF_BIT;

|是什么意思?通常它的意思是“或”,但在这里对我来说没有意义...

2 个答案:

答案 0 :(得分:1)

按位或一种bitwise operation。例如,可以使用一些开关标志(指示器)进行进一步操作。

答案 1 :(得分:1)

这是bitwise or。正如评论所说,该语句设置了一个标志。例如。如果_type是(二进制)00100100并且TYPE_NF_BIT00000010,则结果将是00100110-即,确保的第二位的值_type设置为1。这样一来,您最多可以在一个字节中存储8个布尔值。

相关问题