Estoy tratando de encontrar la manera más efectiva de escribir una compuerta XNOR en C.C: XNOR/Exclusive-Nor gate?
if(VAL1 XNOR VAL2)
{
BLOCK;
}
¿Alguna sugerencia?
Gracias.
Estoy tratando de encontrar la manera más efectiva de escribir una compuerta XNOR en C.C: XNOR/Exclusive-Nor gate?
if(VAL1 XNOR VAL2)
{
BLOCK;
}
¿Alguna sugerencia?
Gracias.
if(!(val1^val2))
{
block;
}
edición: fuera de las operaciones lógicas, que probablemente querrá ~(val1^val2)
para ser exactos, pero me parece el! más claro.
Suponiendo val1
y val2
son para ser tratada de la manera boolean lógico C normal (no cero es cierto), entonces:
if (!val1^!!val2)
{
}
hará el truco.
Con dos operandos esto es bastante simple:
if (val1 == val2)
{
block;
}
Esta debe ser la respuesta aceptada. ¡A veces, tendemos a apartarnos de las cosas más obvias! – Ritikesh