51. NAND, NOR, XOR y XNOR

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.

51.1 Introducción

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.

51.2 Puerta NAND

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.

51.3 Tabla de verdad de NAND

A B A ∧ B ¬(A ∧ B)
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0

51.4 Puerta NOR

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.

51.5 Tabla de verdad de NOR

A B A ∨ B ¬(A ∨ B)
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0

51.6 Puerta XOR

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.

51.7 Tabla de verdad de XOR

A B A XOR B
0 0 0
0 1 1
1 0 1
1 1 0

51.8 Puerta XNOR

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.

51.9 Tabla de verdad de XNOR

A B A XNOR B
0 0 1
0 1 0
1 0 0
1 1 1

51.10 NAND como puerta universal

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.

  • NOT A: se obtiene conectando A a las dos entradas de una NAND.
  • A AND B: se obtiene negando la salida de A NAND B.
  • A OR B: se puede obtener aplicando De Morgan.

51.11 NOR como puerta universal

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.

51.12 Uso de XOR en circuitos

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.

51.13 Uso de XNOR en circuitos

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.

51.14 Relación con programación

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.

51.15 Errores comunes

  • Confundir XOR con OR.
  • Olvidar que XNOR representa igualdad lógica entre dos entradas.
  • Leer NAND como AND, sin aplicar la negación final.
  • Leer NOR como OR, sin aplicar la negación final.
  • No verificar una equivalencia mediante tabla de verdad.

51.16 Qué debes recordar de este tema

  • NAND es la negación de AND.
  • NOR es la negación de OR.
  • XOR vale 1 cuando las entradas son distintas.
  • XNOR vale 1 cuando las entradas son iguales.
  • NAND y NOR son puertas universales.

51.17 Conclusión

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.