Teoría · Tema 7 de 11

La codificación de enteros en un ordenador

Qué debes saber

Binario/hexadecimal, signo-magnitud, complemento a 1 y a 2, desbordamiento.

Fuente: Apuntes de Introducción a la Informática (representación de la información).

Resumen estudiable

Idea general

Un ordenador solo entiende 0 y 1: todo se codifica con bits y se organiza en bytes (8 bits). Con m bits se pueden representar 2m valores distintos (4 bits → 16).

Bases de numeración

  • Decimal (10), binario (2), octal (8, 3 bits por dígito) y hexadecimal (16, 4 bits por dígito).
  • Base b → decimal: N = Σ ai·bi. Ej.: 100112 = 16+2+1 = 19.
  • Decimal → binario: divisiones sucesivas entre 2 y leer los restos de abajo arriba. 124 → 11111002.
  • Hex ↔ binario: cada dígito hex = 4 bits. A3C516 = 1010 0011 1100 01012.

Sistemas de codificación con n bits

SistemaIdeaRangoNotas
Sin signoTodos los bits son magnitud0 … 2n−1No hay negativos
Signo y magnitudBit más significativo = signo−(2n−1−1) … +(2n−1−1)Dos ceros (+0 y −0)
Complemento a 1Negativo = invertir todos los bitsigual que signo-magnitudDos ceros
Complemento a 2Negativo = invertir bits y sumar 1−2n−1 … 2n−1−1Un solo cero; aritmética natural; el usado hoy (C, CPUs)
Exceso / sesgadoSe suma un sesgo al valor realsegún el sesgoExponente de IEEE 754
BCD4 bits por cada dígito decimalpor nº de dígitosFinanzas; ineficiente en espacio

Ejemplo (8 bits, C2): +5 = 00000101; −5 = invertir (11111010) + 1 = 11111011.

Desbordamiento (overflow)

Los enteros tienen tamaño fijo (8, 16, 32, 64 bits). Si un resultado se sale del rango se produce desbordamiento: en complemento a 2, sumar dos positivos y obtener un negativo (o al revés). Con 4 bits (−8…+7): 5 + 3 = 8 → se representa como 1000 = −8. En C, INT_MAX + 1 da INT_MIN. Es una circunferencia: al superar el máximo se «da la vuelta».

Ponte a prueba: escribe tu respuesta

Sin mirar el resumen, desarrolla el tema como lo harías en el examen. La web cuenta tus palabras y detecta qué conceptos clave has incluido (es una ayuda orientativa: lo que importa es que entiendas y relaciones).

Respuesta modelo (≈170 palabras)

Ver respuesta modelo (inténtalo antes)

Un ordenador solo maneja información binaria, así que los números enteros se codifican con bits en un tamaño fijo de n bits, lo que permite 2n valores distintos. Para trabajar cómodamente se utilizan las bases octal y hexadecimal, que agrupan 3 y 4 bits por dígito respectivamente, y se convierte de decimal a binario mediante divisiones sucesivas entre 2.

Existen varios sistemas de codificación. Los enteros sin signo representan de 0 a 2n−1. En signo y magnitud el bit más significativo indica el signo, pero hay dos representaciones del cero, igual que en el complemento a 1. El complemento a 2, usado por casi todos los procesadores, obtiene el negativo invirtiendo los bits y sumando 1, tiene un único cero y representa de −2n−1 a 2n−1−1, con una aritmética sencilla para el hardware. También existen el exceso o sesgado (usado en el exponente de IEEE 754) y el BCD.

Como el tamaño es finito, puede producirse desbordamiento (overflow): sumar dos positivos y obtener un negativo, algo importante en programación (por ejemplo en C).

Conecta con otros temas

Relacionar conceptos es lo que más puntúa. Piensa cómo se enlaza este tema con:

Quiz

Las opciones se barajan cada vez; repite el quiz hasta que no falles ninguna.