01 · Punto de partida
¿Son iguales o no?
Dos interruptores deben coincidir para abrir (igualdad), dos sensores no deben discrepar sin avisar (diferencia). XOR prende si difieren; XNOR si coinciden. Son la base del sumador (T23), la paridad (T26) y el comparador (T25).
- ¿Qué filas dan 1 en cada una?
- ¿Cómo se dibujan y qué chips son?
- ¿Cómo se comparan 2 bits?
- ¿Qué trampa trae el 74HC266?
02 · XOR
Detector de diferencias
Y = A⊕B: 1 solo con 01 o 10 (Σm(1,2)). Símbolo OR con curva extra; 74HC86 ×4. Es la suma sin acarreo: 1⊕1 = 0 (el acarreo viaja por AND aparte, Tema 23).
03 · XNOR
Verificador de igualdad
Y = A⊙B: 1 con 00 u 11 (Σm(0,3)). XOR con bolita. Trampa del 74HC266: salidas open-collector (necesitan pull-up a Vcc): sin R no hay HIGH. Alternativa: XOR + NOT, o CD4077 con salidas normales.
XOR (86)
Difiere → 1
Salida normal. Suma, paridad, alarma de discrepancia.
XNOR (266)
Coincide → 1
Open-collector + pull-up. Igualdad, cerraduras, comparación.
04 · Cascada
De 1 bit a N bits
- Igualdad de 2 bits
- EQ = (A1⊙B1)·(A0⊙B0): dos XNOR + un AND. Solo 1 si los dos pares coinciden.
- XOR en cadena = paridad
- A⊕B⊕C = 1 con cantidad impar de unos: el Tema 26 lo convierte en detector de errores.
- Diferencia con signo
- XOR no resta: 1⊕1 = 0 pierde el acarreo. Restar pide el circuito del Tema 23–24.
05 · Diferencia en código
Iguales o distintos, en N bits
Básicas más comparador de 2 bits con XNOR + AND.
Python en tu navegador. Compará tus nibbles bit a bit.
def xor_(a, b):
return a ^ b
def xnor_(a, b):
return 1 - (a ^ b)
print("XOR: ", [xor_(a, b) for a in (0, 1) for b in (0, 1)])
print("XNOR:", [xnor_(a, b) for a in (0, 1) for b in (0, 1)])
XOR: [0, 1, 1, 0]. XNOR: [1, 0, 0, 1]. ¿Cuál usarías para “prender si A = B”?
Igualdad de 2 bits
def iguales2(a, b):
bits_a = [(a >> 1) & 1, a & 1]
bits_b = [(b >> 1) & 1, b & 1]
eq = all(xnor_(x, y) for x, y in zip(bits_a, bits_b))
print(f"{a:02b} vs {b:02b} -> {'IGUALES' if eq else 'distintos'}")
return eq
iguales2(0b10, 0b10)
iguales2(0b10, 0b11)
iguales2(0b00, 0b00)
06 · Analogía programador
!= y == con silicio
- 1XOR = !=.
Verdadero si difieren: tu
a != ben una puerta. - 2XNOR = ==.
Verdadero si coinciden: cerradura que abre con el código exacto.
- 3Cascada = comparar strings.
Igualdad total = AND de igualdades por posición, como comparar char por char.
07 · Taller
Laboratorio: ¿coinciden?
Dos interruptores y selector XOR/XNOR: el laboratorio dice si difieren o coinciden.
Coincidómetro
XOR · A=1 B=1 → 0
XOR 1,1: iguales, Y=0.
Preguntas para explorar
- Con A=1, B=0 en XOR: ¿Y? ¿Veredicto? Pasá a XNOR sin tocar: ¿Y?
- ¿Qué puerta prende un LED “código correcto” con dos interruptores iguales?
- Con fila 00 en XOR: ¿Y? ¿Por qué 0 y no “nada”?
Ver respuestas sugeridas
- XOR: 1 (DIFERENTES). XNOR: 0 (no coinciden). Misma fila, veredicto opuesto.
- XNOR: da 1 con 00 y con 11. El código puede ser “todo abajo” también.
- 0: no difieren en nada. XOR de ceros es cero, no indefinido.
08 · Comprensión
Confusiones frecuentes
«XOR suma»
Suma a medias: 1⊕1 = 0 necesita acarreo (AND) aparte. Suma completa = XOR + AND (Tema 23).
«XNOR = XOR con NOT, listo»
Lógico sí, eléctrico ojo: el 74HC266 es open-collector y pide pull-up. Sin R, el HIGH no existe.
«OR común es exclusivo»
El OR lógico incluye el 11 (vale 1): “café o té” en lógica acepta ambos. XOR es el excluyente real.
«Cascada XOR = suma de N bits»
Da la paridad, no la suma: A⊕B⊕Cin es el bit suma, los acarreos viajan aparte. No confundir.
09 · Práctica guiada
Ejercicios de coincidencia
Ejercicio 1: alarma de discrepancia
Dos sensores redundantes deben coincidir; si difieren, alarma. ¿Puerta? Tabla y chip.
Ver solución razonada
XOR (74HC86): 01 o 10 → 1 = alarma. 00 y 11 callados (ambos abajo también es “coinciden”).
Ejercicio 2: igualdad de 2 bits
Código 10 en dos interruptores: LED solo si A=10. Diseñá con XNOR + AND y verificá con iguales2().
Ver solución
(A1⊙1)·(A0⊙0): XNOR con 1 pasa el bit, con 0 lo invierte… más simple: A1·~A0 (AND + NOT). Dos caminos, mismo LED.
Ejercicio 3: montar coincidencia
74HC86, dos botones con pull-down, LED en XOR. Medí las 4 filas. ¿Alguna falla con 0110?
Ver solución
No: 0110 clavado. Si el LED queda tenue en alguna fila, revisar pull-down o Vcc.
10 · Síntesis
Ideas para recordar
- XOR = 0110 (difieren); XNOR = 1001 (coinciden).
- 74HC86 normal; HC266 open-collector + pull-up.
- Igualdad N bits = XNOR por bit + AND.
- XOR en cadena = paridad (T26).
- XOR suma a medias; el acarreo va aparte.
Diferencia e igualdad dominadas. Ahora lo físico: en el próximo tema, botones y rebotes.