edubun
Español

Cómo suman números las compuertas

Una compuerta XOR y una AND bastan para sumar dos bits. Encadena cuatro sumadores completos y podrás sumar dos números cualesquiera del 0 al 15.

Prueba esto antes de seguir leyendo. Suma 0101 y 0011 en papel, en binario, como sumas en decimal, y escribe cada acarreo encima de la columna siguiente. Solo necesitas tres datos: 0 + 0 = 0, 0 + 1 = 1 y 1 + 1 = 10, que significa escribir 0 y llevar 1. Si además llega un acarreo, 1 + 1 + 1 = 11, así que escribes 1 y llevas 1. La solución está en el párrafo siguiente, así que tápalo primero.

Esta es la solución. Columna de la derecha: 1 + 1 = 10, escribes 0 y llevas 1. Siguiente: 0 + 1 más el acarreo vuelve a dar 10, escribes 0 y llevas 1. Siguiente: 1 + 0 más el acarreo, 10, escribes 0 y llevas 1. La de la izquierda: 0 + 0 más el acarreo da 1. La respuesta es 1000, que es 8, y 5 + 3 = 8. Tres de las cuatro columnas llevaron. Una calculadora, un videojuego y una hoja de cálculo terminan haciendo exactamente esto. Dentro de un procesador, cada columna la resuelven unas pocas compuertas, y la escena empieza con la misma suma. Luego prueba 9 + 8 allí. Necesita un quinto bit.

Cargando

Arrastra para girar. Desplaza o pellizca para acercar.

A = 0101 (5) y B = 0011 (3). Los acarreos se propagan desde la derecha por tres posiciones y la suma es 1000 (8). Toca cualquier bit de A o B, o elige un número en los menús. Prueba 9 + 8: la respuesta 17 necesita un quinto bit, el acarreo que sale por la izquierda.

La columna de la derecha solo necesita dos compuertas

Mira solo la columna de la derecha. El bit de respuesta, la suma, es 1 cuando exactamente una entrada es 1. Esa es la regla de XOR. El acarreo es 1 solo cuando las dos entradas son 1. Esa es la regla de AND. Así que una compuerta XOR y una AND una al lado de la otra, alimentadas con las mismas dos entradas, suman dos bits. Este pequeño circuito es un semisumador. Es solo «semi» porque no tiene forma de recibir un acarreo de la columna de su derecha.

Las demás columnas tienen tres bits que sumar

En todas las demás columnas se juntan tres bits: uno de cada número y el acarreo de la derecha. Un sumador completo recibe los tres. Su suma es A XOR B XOR acarreo de entrada, que es 1 cuando un número impar de los tres es 1. Su acarreo de salida es 1 cuando al menos dos de ellos son 1. Dos semisumadores y una compuerta OR forman un sumador completo. Pon en fila cuatro sumadores completos, conecta cada acarreo de salida al acarreo de entrada del sumador de su izquierda y tendrás un sumador de 4 bits. Cada acarreo tiene que propagarse de derecha a izquierda antes de que se asiente la última columna, por eso este diseño se llama sumador con acarreo en cascada. Los procesadores reales suman números de 64 bits con circuitos más ingeniosos que calculan los acarreos por adelantado, pero la regla de cada columna es la misma.

ABAcarreo de entradaSumaAcarreo de salida
00000
01010
11001
10101
11111

Qué pasa cuando la respuesta es demasiado grande

Cuatro bits guardan de 0 a 15. Suma 9 y 8 y la respuesta real, 17, es 10001 en binario, que son cinco bits. Un registro que solo guarda cuatro bits almacena 0001, que es 1, y el acarreo que sobra a la izquierda es la señal de alerta. Eso es desbordamiento. 15 + 1 en cuatro bits deja 0000. Los procesadores activan un indicador cuando ocurre para que los programas lo noten. La resta reutiliza el mismo sumador. Para calcular A − B, el procesador invierte cada bit de B y suma 1, lo que da el complemento a dos de B, luego lo suma a A y descarta el acarreo sobrante. Para 5 − 3 en cuatro bits: 3 es 0011, invertido es 1100, más 1 es 1101. Luego 0101 + 1101 = 10010, y al quedarse con cuatro bits queda 0010, que es 2.

Multiplicar es desplazar y sumar

La multiplicación sale de las mismas piezas. En binario, multiplicar por 2 mueve cada bit una posición a la izquierda, igual que multiplicar por 10 añade un cero en decimal: 0011 (3) pasa a 0110 (6). Para 5 × 3, fíjate en que 3 es 2 + 1. Así que 5 × 3 = 5 × 2 + 5 × 1 = 1010 + 0101 = 1111, que es 15. Un circuito multiplicador desplaza y suma así, tomando los bits en 1 del segundo número de uno en uno.

Errores frecuentes
  • «1 + 1 = 2, así que la respuesta cabe en un bit.» Un bit solo guarda 0 o 1. 1 + 1 = 10: el bit de suma es 0 y se lleva un 1. Si descartas el acarreo, la respuesta pasa a ser 0, lo cual está mal.
  • «Un semisumador puede sumar números de cualquier longitud.» Un semisumador no tiene entrada para un acarreo de la derecha, así que solo sirve en la columna de la derecha. Todas las demás columnas necesitan un sumador completo con tres entradas. Un sumador de 4 bits podría usar un semisumador y tres sumadores completos.
  • «El desbordamiento hace que la computadora se detenga con un error.» El sumador simplemente guarda los bits para los que tiene espacio. 9 + 8 en cuatro bits da 0001, una respuesta equivocada que parece completamente normal. El procesador activa un indicador, y el programa tiene que revisarlo.
  • «La resta necesita su propio circuito de restar.» Invierte los bits de B, suma 1 y suma el resultado a A con el mismo sumador. 5 − 3: 0101 + 1101 = 10010, y los cuatro bits más bajos, 0010, son 2.
Nota para docentesPlantea la suma 0101 + 0011 antes de decir «sumador» y haz que los estudiantes escriban los acarreos encima de las columnas. Así, la mayor parte de las tablas del semisumador y del sumador completo se pueden leer en su propio trabajo. El paso del semisumador al sumador completo es donde se pierden. Señala la segunda columna de su suma y pregunta cuántos bits sumaron ahí: tres. El acarreo en cascada se puede representar fácilmente con cuatro personas en fila que se pasan una tarjeta de acarreo hacia la izquierda. El complemento a dos necesita un ejemplo lento a mano; la escena no puede restar, así que haz 5 − 3 en la pizarra y comprueba que 0010 es 2.
  1. ¿Cuánto es 1 + 1 en binario?
  2. En un semisumador, ¿qué compuerta da el bit de suma?
    • XOR
    • AND
    • OR
    • NOT
  3. En un semisumador, ¿qué compuerta da el acarreo?
    • AND
    • XOR
    • OR
    • NAND
  4. ¿Cuántos bits de entrada recibe un sumador completo?
  5. Un sumador completo recibe A = 1, B = 1 y acarreo de entrada = 1. ¿Cuál es su bit de suma?
  6. Suma 0110 y 0011. Da cuatro bits.
  7. Un registro de 4 bits suma 9 + 8 y guarda solo cuatro bits. ¿Qué número contiene?
  8. ¿Cuál es el complemento a dos de 0011 en 4 bits?
  9. ¿Cuántos sumadores completos necesita un sumador con acarreo en cascada para números de 8 bits?
  10. ¿Cuál es la mayor suma que pueden dar dos números de 4 bits?
Ideas clave
  • Semisumador: suma = A XOR B, acarreo = A AND B.
  • Sumador completo: tres entradas; la suma es 1 si hay un número impar de 1, y el acarreo si hay dos o más.
  • Los sumadores completos encadenados forman un sumador con acarreo en cascada; los acarreos van de derecha a izquierda.
  • Desbordamiento: el resultado necesita más bits de los que tiene el registro. La resta suma el complemento a dos.
Fuentes de este curso (9)
  • (checked 2026-10-17; reordered 2026-10-19: standards first, then official documentation, then the teaching model and calculations, history sources last)
  • Standards: NIST, "Prefixes for binary multiples" (physics.nist.gov/cuu/Units/binary.html: IEC approved kibi, mebi, gibi in December 1998; 1 B = 8 bit; 1 MiB = 1 048 576 B; 1 MB = 1 000 000 B; 1 GiB = 1 073 741 824 B; historical note: memory makers usually mean 2²⁰ bytes by megabyte, storage makers 1 000 000, and the "1.44 MB" diskette uses a megabyte of 1 024 000 bytes)
  • IETF RFC 20 "ASCII format for Network Interchange" (1969, 7-bit codes, A = 65, a = 97, 0 = 48)
  • IETF RFC 3629 "UTF-8, a transformation format of ISO 10646" (2003: 1 to 4 octets per character, ASCII unchanged, code points up to U+10FFFF, U+0800 to U+FFFF take three octets, "the first octet of a multi-octet sequence indicates the number of octets", example U+D55C U+AD6D U+C5B4 = ED 95 9C EA B5 AD EC 96 B4)
  • Official documentation: MDN Web Docs, "<color>" (hexadecimal colour notation #RRGGBB)
  • Intel, "Intel Chips" timeline poster (2012: Intel 4004 of 1971 with 2,300 transistors; 2nd generation Core 2010 with 1.16 billion)
  • Claude E. Shannon, "A Symbolic Analysis of Relay and Switching Circuits", Transactions of the AIEE vol. 57 (1938)
  • abstract of his MIT master's thesis. Computer History Museum, The Silicon Engine, "1947: Invention of the Point-Contact Transistor" (Bardeen and Brattain, December 1947, germanium)
  • John von Neumann, "First Draft of a Report on the EDVAC" (30 June 1945, Moore School, reprinted in IEEE Annals of the History of Computing 15:4, 1993).

Fecha de consulta: 2026-10-17