C で XNOR ゲートを記述する最も効果的な方法を見つけようとしています。
if(VAL1 XNOR VAL2)
{
BLOCK;
}
助言がありますか?
ありがとう。
2 つのオペランドを使用すると、これは非常に単純になります。
if (val1 == val2)
{
block;
}
if(!(val1^val2))
{
block;
}
~(val1^val2)
編集:論理演算以外では、おそらく正確にしたいでしょうが、私は ! より明確に。
val1
とval2
が通常の C の論理ブール式 (非ゼロが真) で処理されると仮定すると、次のようになります。
if (!val1 ^ !!val2)
{
}
トリックを行います。