Electrónica Digital · Tema 23

Sumador medio y completo

1+1 con acarreo: el XOR suma, el AND lleva, y el carry resulta ser una mayoría.

01 · Punto de partida

Como en primaria: llevo 1

1+1 = 10: suma 0, llevo 1. El medio suma 2 bits (S y Cout); el completo suma 3 (A, B y el que traigo, Cin). Encadenando completos se suma cualquier ancho.

  • ¿Qué ecuaciones tiene cada uno?
  • ¿Por qué el carry es una mayoría?
  • ¿Cuántas puertas cuesta un completo?
  • ¿Dónde se usa el medio?

02 · Medio sumador

Dos bits, sin traer nada

S = A⊕B, Cout = A·B: 1 XOR + 1 AND (medio 74HC86 + medio 74HC08). Tabla 0001/0111 cruzadas: S = 0110, Cout = 0001.

A, B → XOR = S →AND = Cout →2 salidas

03 · Completo

Tres bits, con acarreo

Sumador completo (A B Cin → S Cout).
A B CinSCoutSuma
0 0 0000
0 0 1101
0 1 1012
1 0 1012
1 1 0012
1 1 1113

S = 1 con cantidad impar (paridad-3, Tema 6); Cout = 1 con ≥ 2 unos: Σm(3,5,6,7) = mayoría (Temas 15–16). El curso se cita a sí mismo.

04 · Puertas

La cuenta del completo

S: 2 XOR
A⊕B⊕Cin en cascada (2 niveles de XOR): medio 74HC86 ×2.
Cout: 3 AND + 1 OR
Mayoría mínima AB+ACin+BCin (Tema 15): 1 HC11 (triple AND-3… de 2 entradas sobran) + OR.
Total: 6 puertas
Más 3 NOT si las entradas vienen directas. Por eso existen los MSI (7483, Tema 24).

05 · Suma en código

Medio, completo y mayoría

Tabla completa más la prueba de que Cout es mayoría.

Python en tu navegador. Sumá con puertas, no con +.

def medio(a, b):
    return a ^ b, a and b


def completo(a, b, cin):
    s = a ^ b ^ cin
    cout = (a and b) or (a and cin) or (b and cin)
    return s, cout


for a, b, cin in [(0, 0, 0), (0, 1, 1), (1, 1, 0), (1, 1, 1)]:
    s, c = completo(a, b, cin)
    print(f"{a}+{b}+{cin} = {c}{s} (suma {a+b+cin})")

0+1+1 = 10 (2). 1+1+1 = 11 (3). ¿Qué filas dan Cout=1?

Cout es mayoría

couts = [completo(a, b, c)[1] for a in (0,1) for b in (0,1) for c in (0,1)]
print("Cout:", couts)
print("mayoria Σm(3,5,6,7):", [i for i, v in enumerate(couts) if v])

06 · Analogía programador

Llevo 1, como siempre

  1. 1
    Cin = el que traía.

    Sumar columnas con acarreo previo: el algoritmo de primaria en silicio.

  2. 2
    S = paridad, Cout = mayoría.

    Dos funciones viejas con trabajo nuevo: reutilizar beats reinventar.

  3. 3
    Medio = caso base.

    Como la recursión: el primero es simple (Cin=0), el resto completo.

07 · Exploración

Laboratorio: sumar con puertas

Sumador completo con A/B/Cin: el laboratorio da S, Cout y la suma en decimal.

LABORATORIO 23

Sumador 1 bit

1+1+0 = 10 (2)

S (XOR)0
Cout (mayoría)1
Binario10
Decimal2

1+1+0: S=0, Cout=1 (2).

Preguntas para explorar

  1. Poné 1+1+1. ¿S? ¿Cout? ¿Decimal?
  2. Con Cin=0 recorré A,B: ¿en qué se parece al medio sumador?
  3. ¿Qué filas dan Cout=1? Compará con la mayoría del Tema 6.
Ver respuestas sugeridas
  1. S=1, Cout=1: 11 = 3. Tres unos entran, “3” sale.
  2. Es idéntico: completo con Cin=0 = medio. El medio es un caso particular.
  3. 011, 101, 110, 111 = Σm(3,5,6,7): la misma tabla. Carry = mayoría.

08 · Comprensión

Confusiones frecuentes

«XOR suma todo»

XOR da S pero pierde el carry: 1+1 necesita AND aparte. Medio = XOR + AND, inseparables.

«Cout es un OR»

OR daría 1 con un solo 1: Cout pide ≥ 2 (mayoría AB+AC+BC). Un OR en su lugar suma mal.

«Medio en cascada»

Solo el bit 0 puede ser medio (sin Cin previo): del bit 1 en adelante, completos. Ripple = 1 medio + N completos.

«Sumar es pegar bits»

Concatenar 1 y 1 da “11” texto, no 2: sumar es S + carry, no juntar símbolos.

09 · Práctica guiada

Ejercicios de suma

Ejercicio 1: medio con NAND

Armá S (XOR-4NAND) y Cout (AND-2NAND) solo con 74HC00. ¿NAND totales? Verificá filas con código.

Ver solución razonada

4 + 2 = 6 NAND (XOR-4 del Tema 9 + AND-2). Un chip y medio: 2 HC00.

Ejercicio 2: 1+1+1 a mano

Con las ecuaciones: S = 1⊕1⊕1, Cout = mayoría(1,1,1). ¿Valores? ¿Coincide con 3 = 11?

Ver solución

S = 1 (tres impares), Cout = 1: 11₂ = 3 ✓. Paridad + mayoría de acuerdo.

Ejercicio 3: restar con sumar

5 − 3 con Ca2 de 4 bits (0101 + 1101). Sumá bit a bit con acarreo. ¿Resultado? ¿Acarreo final?

Ver solución

0010 = 2, carry final 1 (se descarta en sin signo de 4 bits). Restar es sumar complementado (Tema 5 + este).

10 · Síntesis

Ideas para recordar

  • Medio: S = A⊕B, Cout = AB.
  • Completo: S = A⊕B⊕Cin, Cout = mayoría.
  • Cout = Σm(3,5,6,7) = AB+ACin+BCin.
  • Completo = 2 XOR + mayoría (6 puertas).
  • Medio = completo con Cin = 0.

Un bit dominado. Ahora N bits: en el próximo tema, sumador en cascada.