Если мы построим таблицу истинности, следуя коду, мы получим
d | type | tmp
---+------+----
1 | 1 | 1
---+------+----
1 | 0 | 0
----+-----+----
0 | 1 | 0
----+-----+----
0 | 0 | 1
Вышеуказанное эквивалентно отрицанию операции xor
.
tmp = not (d xor type)
Если в языке нет оператора xor
, мы можем использовать !=
для логических значений.
tmp = ! (d != type);
// or
tmp = d == type;