В Солидности, что делает |значит в контексте "если"? - PullRequest
0 голосов
/ 08 февраля 2019

Я вижу выражение if в Solidity, которое выглядит следующим образом:

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

Что означает |?Обычно это означает «или», но здесь для меня это не имеет смысла ...

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

Это поразрядно или .Как говорится в комментарии, оператор устанавливает флаг.Например, если _type (двоичное) 00100100 и TYPE_NF_BIT равно 00000010, результат будет 00100110 - т.е. он гарантирует, что значение второго бита _type установлено в 1. Этоспособ хранения до 8 логических значений в байте.

0 голосов
/ 08 февраля 2019

Битовая или, разновидность битовая операция .Например, для дальнейшей работы могут использоваться некоторые флаги (индикаторы).

...