Computadoras y Programación · ENES Juriquilla · UNAM
Módulo 1 · Sesión 3

Contar de
más de una forma.

Sistemas numéricos —decimal, binario, octal, hexadecimal—, cómo convertir entre ellos, y cómo procesa el trabajo una computadora: por lotes, en tiempo real, distribuido y en paralelo.
Por
Walter Rosales
Retomando desde la sesión 2
Ya viste la historia.
Generaciones Sistemas numéricos Procesamiento

Hoy cerramos
el Módulo 1.

Sabes qué es una computadora, de qué está hecha y de dónde viene. Falta una pieza: cómo representa cualquier cantidad usando solo dos símbolos, y cómo organiza el trabajo que hace con ellas. Con esto, terminas de saber todo lo que necesitas antes de escribir tu primera línea de código.
Antes de los sistemas numéricos

¿Por qué el color de acento de este mismo deck
se llama #1E5FA8?

Esos seis caracteres no son un código secreto. Son un número — escrito en una base distinta a la que usas para contar con los dedos.

Un número no tiene
una sola forma de escribirse.

Un conjunto fijo de símbolos y el valor de posición de cada uno. La cantidad no cambia — cambia el idioma.
1.6 — Sistemas numéricos
Base 10 — la que ya conoces

Decimal: diez símbolos,
porque tienes diez dedos.

Dígitos 0–9, cada posición vale una potencia de 10. No es matemática — es biología: diez dedos.
Base 2 — la que ya conoces también

Binario: dos símbolos,
porque un transistor solo tiene dos estados.

Recuerdas el bit de la sesión 1: encendido o apagado, uno o cero. En base 2, cada posición vale una potencia de 2. Es el único sistema numérico que una computadora entiende de manera nativa — todo lo demás, incluida esta misma lámina, se traduce a binario antes de procesarse.
Base 8 y base 16 — atajos para humanos

Nadie lee binario largo
sin cansarse. Por eso existen.

Octal (base 8, dígitos 0–7) fue el atajo de las primeras minicomputadoras. Hexadecimal (base 16, dígitos 0–9 y A–F) es el que domina hoy: colores web, direcciones de memoria, direcciones MAC. Ninguno de los dos es "más digital" que el binario — son la misma cantidad, comprimida para que un humano no tenga que leer veinte ceros y unos seguidos.
1.6 — Comparación de bases

"45", "101101", "55" y "2D" son el mismo número.

45Decimal · base 10
101101Binario · base 2
55Octal · base 8
2DHexadecimal · base 16
Ninguna versión es más correcta que otra. Vas a ver de dónde sale cada una en los próximos minutos.
Conversión de decimal a otra base

Divide entre la base.
Anota el resto. Repite.

El método de división sucesiva funciona igual sin importar la base destino: divides el número entre la base, anotas el resto, y divides el cociente otra vez — hasta llegar a cero. Los restos, leídos de abajo hacia arriba, son la respuesta.
45 en decimal → binario · división entre 2
45 ÷ 2 = 22resto 1
22 ÷ 2 = 11resto 0
11 ÷ 2 = 5resto 1
5 ÷ 2 = 2resto 1
2 ÷ 2 = 1resto 0
1 ÷ 2 = 0resto 1
Leyendo los restos de abajo hacia arriba: 101101.
Mismo método
Solo cambia el divisor.
Para octal, divides entre 8. Para hexadecimal, divides entre 16 — y cuando un resto pasa de 9, se escribe con letra (10=A, 11=B... 15=F).
45 ÷ 8 → octal
45÷8 = 5, resto 5 · 5÷8 = 0, resto 5
Resultado: 55
45 ÷ 16 → hexadecimal
45÷16 = 2, resto 13 (D) · 2÷16 = 0, resto 2
Resultado: 2D
La razón real: agrupar bits, no volver a dividir

101101 agrupado en bloques de 4 — o de 3 — resuelve el atajo.

00102
1101D
Agrupado en 4 bits (rellenando con ceros a la izquierda): 2D en hexadecimal — porque 16 = 2⁴.
Lo mismo pasa con octal, agrupando de 3 en 3 (porque 8 = 2³): 101 101 → 5 5. Nadie vuelve a dividir — solo agrupa y lee la tabla.
Reto en vivo · decimal → octal · ronda 1 de 4
45 128 200
Reto en vivo · decimal → hexadecimal · ronda 2 de 4
175 60 255 12
Reto en vivo · octal → decimal · ronda 3 de 4
17 52 130
Reto en vivo · hexadecimal → decimal · ronda 4 de 4
2D FF 1A 90
Sumar en binario funciona igual que en decimal

Mismas reglas, solo hay dos dígitos — y el acarreo aparece más seguido.

  1011
+ 0110
———————
10001
1011 (11) + 0110 (6) = 10001 (17). Igual que en decimal: 1+1 no cabe en un dígito, así que acarrea.
Reto en vivo · 60 segundos
1101
+ 0111
Súmalos en binario. La primera mano levantada con el resultado correcto —y su equivalente en decimal— gana un punto para el marcador de hoy.
Respuesta

1101 + 0111 = 10100

13 + 7 = 20 en decimal. El acarreo se arrastra tres veces seguidas: por eso el resultado gana un dígito extra.
Un adelanto — lo vas a usar cuando programes en C

¿Y los números negativos?

Una computadora no tiene signo "menos". Representa los negativos con complemento a dos: invierte todos los bits del número positivo y suma 1. Así, −5 en 8 bits (00000101 → 11111010 → 11111011) se puede sumar con la misma lógica que ya viste, sin inventar una resta aparte. No hace falta dominarlo hoy — solo saber que existe.
00000101 — original+5
11111010 — se invierten todos los bits¬5
11111011 — se suma 1 al invertido−5

Saber representar datos
no basta.

Una computadora también decide cuándo y cómo hace el trabajo. Eso se llama tipo de procesamiento, y no es una sola respuesta — hay cuatro formas distintas de organizarlo.
1.7 — Tipos de procesamiento
1.7 — Cuatro formas de organizar el trabajo
Por lotesSe acumulan tareas y se procesan juntas, sin que nadie espere una respuesta inmediata.
Tiempo realCada tarea tiene un límite estricto de tiempo — responder tarde equivale a responder mal.
DistribuidoVarias computadoras independientes, cada una con su propia memoria, se reparten el trabajo por red.
ParaleloVarios núcleos o procesadores atacan partes del mismo problema al mismo tiempo, casi siempre compartiendo memoria.
Tarjeta perforada IBM, usada para cargar lotes de trabajo en mainframes
Pieza histórica · tarjeta perforada IBM
Procesamiento por lotes — batch

Se junta el trabajo,
se procesa todo de una vez.

Nadie espera enfrente de la pantalla. Las tareas se acumulan y corren juntas, normalmente cuando nadie más está usando el sistema — de madrugada, en la nómina de una empresa, en el corte de estados de cuenta de un banco, en la carga masiva de datos. Antes de las pantallas, el lote se cargaba físicamente: un mazo de tarjetas perforadas era el programa completo, leído de una sola vez.
Procesamiento en tiempo real

Tarde es lo mismo
que incorrecto.

El sistema debe responder dentro de una ventana de tiempo estricta y predecible. Los frenos ABS de un auto, un marcapasos, el control de vuelo de un avión: si la respuesta llega un segundo tarde, no sirvió de nada — sin importar qué tan correcta haya sido.
Testigo de frenos ABS encendido en el tablero de un automóvil, ejemplo de procesamiento en tiempo real
Ejemplo · testigo ABS en el tablero
Procesamiento distribuido

Varias computadoras,
cada una por su cuenta.

Máquinas independientes —cada una con su propia memoria y su propio procesador— se reparten el trabajo y se comunican por red. Una base de datos distribuida, una red de entrega de contenido (CDN), los nodos de una blockchain: nadie tiene el problema completo, cada quien resuelve su parte y coordina el resultado.
Infografía: un nodo central de red conectado a cuatro computadoras y servidores independientes, cada uno con su propio procesador y memoria
Infografía · procesamiento distribuido
Procesamiento paralelo

Un solo problema,
partido entre muchos núcleos.

A diferencia de lo distribuido, aquí los procesadores casi siempre comparten memoria y trabajan sobre el mismo problema al mismo tiempo. Un procesador de video editando cuadros en paralelo, o una tarjeta gráfica (GPU) haciendo miles de multiplicaciones de matrices simultáneas: la tarea se divide, no se reparte.
Clúster de GPUs, procesamiento paralelo real sobre el mismo problema
Foto real · clúster de GPUs (CSIRO, 2010)
1.7 — Comparación de tipos de procesamiento
TipoCuándo respondeCuántas máquinasEjemplo real
Por lotesDespués, todo juntoUnaNómina, corte bancario nocturno
Tiempo realDe inmediato, con límite estrictoUnaFrenos ABS, marcapasos
DistribuidoCoordinado entre nodosVarias, independientesBase de datos distribuida, blockchain
ParaleloSimultáneo, un mismo problemaVarios núcleos, memoria compartidaGPU, renderizado de video
Un ejemplo moderno — no es uno u otro

Entrenar un modelo grande de IA usa
procesamiento distribuido y paralelo, a la vez.

Miles de servidores se reparten el conjunto de datos —eso es distribuido—, y dentro de cada servidor, miles de núcleos de GPU calculan multiplicaciones de matrices al mismo tiempo —eso es paralelo—. Es la misma infraestructura que hace posible que un asistente de código te complete una función en segundos: no es magia, es procesamiento organizado en dos capas a la vez.
Votación rápida · levanta la mano
A
Tiempo real
Un cajero automático leyendo tu tarjeta.
B
Por lotes
El mismo banco calculando intereses de toda la noche.
Vota primero: ¿cuál usa el cajero automático para validar tu tarjeta en el momento? La respuesta es A, tiempo real — pero el mismo banco corre B, por lotes, para el corte de cuentas de todos sus clientes esa misma noche. Un solo sistema puede usar varios tipos según la tarea.
Marcador en vivo
PuestoNombreReto · conversión de basesReto · suma binariaVotación · procesamientoTotal
1
2
3
Lo que ya sabes, antes de programar tu primera línea

Qué es una computadora, de qué está hecha,
de dónde viene, cómo representa cualquier cantidad,
y cómo organiza su trabajo.

Eso es el Módulo 1 completo. Todavía no escribes código — pero ya entiendes exactamente qué hay del otro lado de cada línea que vas a escribir.
02
Módulo 2 — empieza la siguiente sesión

Lo que viene:

— Cómo se piensa un problema antes de escribir una sola línea de código.
— Algoritmos, pseudocódigo y diagramas de flujo.
Explicación

Qué vimos en esta sesión

  • 1.6 · Sistemas numéricos. Decimal (base 10), binario (base 2), octal (base 8) y hexadecimal (base 16) representan la misma cantidad con distintos símbolos y valor de posición; octal y hexadecimal existen como atajos legibles del binario, agrupando bits de 3 en 3 o de 4 en 4.
  • Conversión entre bases. El método de división sucesiva por la base destino, leyendo los restos de abajo hacia arriba, convierte cualquier decimal a binario, octal o hexadecimal.
  • Aritmética binaria. La suma en binario sigue las mismas reglas que en decimal, con acarreo más frecuente por haber solo dos dígitos; el complemento a dos es la forma en que una computadora representa números negativos, invirtiendo bits y sumando 1.
  • 1.7 · Tipos de procesamiento. Por lotes (se acumula y procesa junto, sin respuesta inmediata), tiempo real (respuesta dentro de un límite estricto), distribuido (varias máquinas independientes coordinadas por red) y paralelo (varios núcleos sobre el mismo problema, memoria compartida) — el entrenamiento de modelos grandes de IA usa distribuido y paralelo a la vez.
Verificable

Fuentes

Escuela Nacional de Estudios Superiores, Unidad Juriquilla — UNAM, Programa de estudios de la asignatura Computadoras y Programación, Plan de Estudios de la Licenciatura en Ingeniería en Computación, Sistema Escolarizado, Modalidad Presencial. Fuente del temario oficial: Unidad 1, sistemas numéricos (decimal, binario, octal, hexadecimal) y tipos de procesamiento.
Tanenbaum, A. S., y Austin, T. (2013). Structured Computer Organization (6th ed.). Pearson. Referencia estándar para sistemas numéricos, conversión entre bases y aritmética binaria.
Patterson, D. A., y Hennessy, J. L. (2020). Computer Organization and Design: The Hardware/Software Interface (RISC-V ed.). Morgan Kaufmann. Referencia para representación de enteros y complemento a dos.
Silberschatz, A., Galvin, P. B., y Gagne, G. (2018). Operating System Concepts (10th ed.). Wiley. Referencia estándar para procesamiento por lotes, tiempo real y organización del trabajo de un sistema operativo.
Tanenbaum, A. S., y Van Steen, M. (2017). Distributed Systems: Principles and Paradigms (3rd ed.). Referencia estándar para procesamiento distribuido.
Narayanan, D., et al. (2021). Efficient Large-Scale Language Model Training on GPU Clusters Using Megatron-LM. Proceedings of SC21. Fuente real del ejemplo de entrenamiento de modelos de IA como procesamiento distribuido y paralelo combinado.