NAND, NOR, XOR y XNOR amplían las operaciones básicas y permiten representar condiciones de negación, diferencia e igualdad entre señales binarias.
Después de AND, OR y NOT, aparecen puertas muy usadas en circuitos digitales: NAND, NOR, XOR y XNOR.
Estas puertas pueden verse como combinaciones de operaciones básicas o como componentes directos que simplifican el diseño de circuitos.
NAND significa "NOT AND". Su salida es la negación de una puerta AND.
A NAND B = ¬(A ∧ B)
Solo produce 0 cuando todas sus entradas valen 1.
| A | B | A ∧ B | ¬(A ∧ B) |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 0 |
NOR significa "NOT OR". Su salida es la negación de una puerta OR.
A NOR B = ¬(A ∨ B)
Solo produce 1 cuando todas sus entradas valen 0.
| A | B | A ∨ B | ¬(A ∨ B) |
|---|---|---|---|
| 0 | 0 | 0 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 0 |
XOR significa "OR exclusiva". Su salida es 1 cuando las entradas son diferentes.
A XOR B = (A ∧ ¬B) ∨ (¬A ∧ B)
Es importante no confundirla con OR. En OR, si ambas entradas valen 1, la salida es 1; en XOR, si ambas entradas valen 1, la salida es 0.
| A | B | A XOR B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
XNOR es la negación de XOR. Su salida es 1 cuando las entradas son iguales.
A XNOR B = ¬(A XOR B)
Puede interpretarse como una prueba de equivalencia entre dos señales binarias.
| A | B | A XNOR B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
Una puerta universal es una puerta con la que se pueden construir todas las operaciones lógicas básicas.
NAND es universal porque permite construir NOT, AND y OR mediante combinaciones de puertas NAND.
NOR también es una puerta universal. Con combinaciones de NOR pueden construirse NOT, OR y AND.
Esto es importante en diseño digital porque permite implementar circuitos completos usando un tipo reducido de componente.
XOR aparece en circuitos donde interesa detectar diferencia entre señales.
Un ejemplo clásico es la suma binaria: el bit de suma de dos entradas A y B se comporta como A XOR B cuando no hay acarreo de entrada.
XNOR aparece cuando interesa detectar igualdad entre señales.
Por ejemplo, si dos bits deben compararse, XNOR devuelve 1 cuando ambos coinciden: ambos 0 o ambos 1.
En programación, algunas operaciones se escriben directamente y otras se construyen combinando operadores.
const nand = !(a && b);
const nor = !(a || b);
const xor = (a && !b) || (!a && b);
const xnor = !xor;
El código expresa las mismas reglas que las tablas de verdad.
NAND, NOR, XOR y XNOR permiten construir circuitos más expresivos y compactos. Sus tablas de verdad muestran con precisión cuándo la salida se activa y cómo se relacionan con operaciones booleanas conocidas.
En el próximo tema estudiaremos la construcción de circuitos lógicos simples.