sto cercando di trovare il modo più efficace di scrivere un cancello XNOR in C.C: XNOR/Exclusive-Nor gate?
if(VAL1 XNOR VAL2)
{
BLOCK;
}
Qualche suggerimento?
Grazie.
sto cercando di trovare il modo più efficace di scrivere un cancello XNOR in C.C: XNOR/Exclusive-Nor gate?
if(VAL1 XNOR VAL2)
{
BLOCK;
}
Qualche suggerimento?
Grazie.
if(!(val1^val2))
{
block;
}
edit: al di fuori di operazioni logiche, che vorreste probabilmente ~(val1^val2)
per essere esatti, ma trovo l'! più chiaro.
Presumendo val1
e val2
devono essere trattati nel normale C logica booleana moda (diverso da zero è vero), allora:
if (!val1^!!val2)
{
}
farà il trucco.
Con due operandi questo è abbastanza semplice:
if (val1 == val2)
{
block;
}
Questa dovrebbe essere la risposta accettata. A volte, tendiamo a distogliere lo sguardo dalle cose più ovvie! – Ritikesh