Sistemas de numeración
Un sistema de numeración es un conjunto de símbolos y reglas que permite representar cantidades numéricas.
En nuestra vida cotidiana utilizamos el sistema decimal (base 10) debido a que los seres humanos tenemos 10 dedos. Sin embargo, la electrónica digital de los ordenadores opera con interruptores biestables, lo que hace que el sistema binario (base 2) sea su lenguaje nativo. Para facilitar la lectura y escritura humana de largas cadenas de bits, en informática se utilizan intensivamente el sistema hexadecimal (base 16) y el sistema octal (base 8).
1. El Teorema Fundamental de la Numeración #
En cualquier sistema de numeración posicional, el valor de un dígito depende tanto del símbolo como de la posición que ocupa respecto a la coma.
Para una base , el valor decimal de un número formado por los dígitos se calcula como:
| Sistema | Base () | Símbolos Permitidos | Ejemplo |
|---|---|---|---|
| Binario | 2 | 0, 1 | |
| Octal | 8 | 0, 1, 2, 3, 4, 5, 6, 7 | |
| Decimal | 10 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 | |
| Hexadecimal | 16 | 0..9, A(10), B(11), C(12), D(13), E(14), F(15) |
2. Conversiones entre Sistemas de Numeración #
1. 2 ┌───────────────────────────────┐ 3 │ DECIMAL (Base 10) │ 4 └───────┬───────────────▲───────┘ 5 │ │ 6 Divisiones │ │ Suma de potencias 7 sucesivas │ │ ponderadas 8 ▼ │ 9 ┌───────────────────────┴───────┐ 10 │ BINARIO (Base 2) │ 11 └───────┬───────────────▲───────┘ 12 │ │ 13 Agrupar en │ │ Expandir cada dígito 14 nibbles de 4 │ │ en 4 bits 15 ▼ │ 16 ┌───────────────────────┴───────┐ 17 │ HEXADECIMAL (Base 16) │ 18 └───────────────────────────────┘
A. Conversión de Binario a Decimal #
Se multiplican los dígitos binarios por las potencias crecientes de de derecha a izquierda ():
B. Conversión de Decimal a Binario (Divisiones Sucesivas) #
Se divide el número decimal sucesivamente entre 2 hasta que el cociente sea 0. El resultado binario se obtiene leyendo los restos de abajo hacia arriba (del último al primero):
153 / 2 = 26 (Resto: 1) ▲ (Bit menos significativo - LSB) 226 / 2 = 13 (Resto: 0) │ 313 / 2 = 6 (Resto: 1) │ 4 6 / 2 = 3 (Resto: 0) │ 5 3 / 2 = 1 (Resto: 1) │ 6 1 / 2 = 0 (Resto: 1) │ (Bit más significativo - MSB) 7 8Resultado: 110101₂
C. Conversión Directa entre Binario y Hexadecimal #
Dado que , 1 dígito hexadecimal equivale exactamente a un grupo de 4 bits (1 Nibble). La conversión es directa e instantánea sin pasar por decimal:
- De Binario a Hexadecimal: Agrupa los bits de 4 en 4 comenzando desde la derecha (añadiendo ceros a la izquierda si es necesario) y traduce cada cuarteto a su dígito hex:
1Número binario: 110101111010₂ 2Agrupación: 1101 | 0111 | 1010 3Equivalente: D | 7 | A ──► D7A₁₆ (o 0xD7A)
- De Hexadecimal a Binario: Sustituye cada dígito hexadecimal por sus 4 bits correspondientes:
D. Conversión entre Binario y Octal #
Dado que , 1 dígito octal equivale a 3 bits:
1Binario a Octal: 101 | 011 | 110₂ ──► 5 3 6₈ 2Octal a Binario: 725₈ ──► 111 | 010 | 101₂
3. Notación y Prefijos en Lenguajes de Programación #
Para evitar ambigüedades, los lenguajes de programación modernos (C, C++, Java, Python, JavaScript, Rust) utilizan prefijos estandarizados:
| Sistema | Prefijo de Código | Ejemplo en Código | Valor Decimal |
|---|---|---|---|
| Binario | 0b o 0B | let mascara = 0b110101; | 53 |
| Octal | 0o o 0O | let permisos = 0o755; | 493 |
| Hexadecimal | 0x o 0X | let color = 0xFF5733; | 16.734.003 |
4. Aplicaciones Reales del Hexadecimal en Informática #
- Direcciones de Memoria RAM: Los punteros en depuración y volcados de memoria se muestran en hex (ej.
0x7FFF5FBFF890) porque son más compactos que 64 dígitos binarios. - Direcciones MAC de Red: Identificador físico único de tarjetas de red de 48 bits, formateado en 6 pares hex:
00:1A:2B:3C:4D:5E. - Colores en Desarrollo Web (CSS/HTML): Códigos
#RRGGBBdonde cada canal tiene 2 dígitos hex (de00aFF):#FF0000(Rojo puro),#00FF00(Verde),#0000FF(Azul). - Direcciones IPv6: Direcciones de red de 128 bits expresadas en 8 bloques de 4 dígitos hexadecimales:
2001:0db8:85a3:0000:0000:8a2e:0370:7334.
Resumen del tema
Conceptos clave #
- Sistemas Posicionales: el valor numérico depende de los símbolos y de las potencias de la base de su posición ().
- Equivalencias Directas de Potencias de 2:
- 1 dígito octal () = 3 bits binarios.
- 1 dígito hexadecimal () = 4 bits binarios (1 Nibble).
- Conversión Rápida: para convertir entre binario y hexadecimal basta con agrupar o expandir bloques de 4 bits.
- Prefijos en Programación:
0bpara binario,0opara octal y0xpara hexadecimal.
Qué debes recordar #
El hexadecimal es la forma condensada estándar que utilizamos los ingenieros para leer y manipular datos binarios en memoria, redes y desarrollo de software.