C: XNOR/Exclusive-Nor ворота? Я пытаюсь найти наиболее эффективный способ записи XNOR-ворот в C. if(VAL1 XNOR VAL2) { BLOCK; } Любые предложения? Спасибо. Ответ 1 С двумя операндами это довольно просто: if (val1 == val2) { block; } Ответ 2 if(!(val1^val2)) { block; } edit: вне логических операций вы, вероятно, хотите, чтобы ~(val1^val2) был точным, но я нахожу! яснее. Ответ 3 Предполагая, что val1 и val2 должны обрабатываться в обычном логическом логическом режиме C (отличное от нуля), тогда: if (!val1 ^ !!val2) { } сделает трюк.
Ответ 2 if(!(val1^val2)) { block; } edit: вне логических операций вы, вероятно, хотите, чтобы ~(val1^val2) был точным, но я нахожу! яснее.
Ответ 3 Предполагая, что val1 и val2 должны обрабатываться в обычном логическом логическом режиме C (отличное от нуля), тогда: if (!val1 ^ !!val2) { } сделает трюк.