Back to Blog

Binario, Hexadecimal y Octal: Sistemas numéricos que todo programador debe conocer

NumberConvert Team9 min read

Una guía completa de los sistemas numéricos binario, hexadecimal y octal. Aprenda por qué las computadoras usan estas bases, cómo convertir entre ellas y sus aplicaciones prácticas en la programación.

Listen to this article

Browser text-to-speech

Introducción a los sistemas numéricos

Cada número que encuentras a diario usa el sistema decimal: base 10. Aprendiste a contar con diez dedos, por lo que la base 10 se siente natural. Pero las computadoras no tienen dedos. Tienen transistores que están encendidos o apagados, lo que significa que naturalmente funcionan en base 2: binario.

Comprender binario, hexadecimal (base 16) y octal (base 8) es esencial para los programadores. Estos sistemas numéricos aparecen en todas partes en la informática, desde las direcciones de memoria hasta los códigos de color, los permisos de archivo y las operaciones bit a bit.

Por qué las computadoras usan binario (base 2)

La realidad del hardware

En el nivel más bajo, las computadoras se construyen a partir de miles de millones de transistores. Cada transistor puede existir en uno de dos estados: encendido (conduciendo electricidad) o apagado (sin conducir). Este estado binario se asigna perfectamente a los dígitos 0 y 1.

¿Por qué no usar 10 niveles de voltaje diferentes para la base 10?

Teóricamente posible, pero prácticamente problemático:

  • Distinguir entre 10 niveles de voltaje requiere mediciones precisas
  • El ruido eléctrico podría causar errores (¿es ese voltaje 4 o 5?)
  • El binario es más fiable: cualquier voltaje por encima de un umbral es 1, por debajo es 0

Representación binaria

En binario, cada posición de dígito representa una potencia de 2:

Posición76543210
Valor1286432168421

Por ejemplo, el número binario 10110101 es igual a:

  • 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1
  • = 128 + 32 + 16 + 4 + 1
  • = 181 en decimal

Bits y Bytes

Un solo dígito binario se llama bit. Ocho bits forman un byte, que puede representar valores de 0 a 255 (2^8 - 1). Las agrupaciones comunes incluyen:

  • Nibble: 4 bits (0-15)
  • Byte: 8 bits (0-255)
  • Word: 16, 32 o 64 bits según la arquitectura del procesador

Hexadecimal (base 16): el favorito del programador

¿Por qué hexadecimal?

El binario es perfecto para las computadoras pero terrible para los humanos. Leer 11111111101011001010111011110000 es agotador y propenso a errores. Hexadecimal resuelve esto proporcionando una representación compacta.

Dado que 16 = 2^4, cada dígito hexadecimal representa exactamente 4 dígitos binarios (un nibble). Esto crea una asignación perfecta:

DecimalBinarioHex
000000
100011
200102
300113
401004
501015
601106
701117
810008
910019
101010A
111011B
121100C
131101D
141110E
151111F

Notación hexadecimal

Los números hexadecimales se suelen prefijar para distinguirlos de los decimales:

  • Prefijo 0x: 0xFF (C, JavaScript, Python)
  • Prefijo #: #FF5733 (colores CSS)
  • Sufijo h: FFh (lenguaje ensamblador)

Casos de uso comunes de hexadecimal

1. Direcciones de memoria

Las direcciones de memoria casi siempre se muestran en hexadecimal:

0x00007FFD4A2B3C40

Esta dirección de 64 bits es mucho más legible que su equivalente binario (64 unos y ceros).

2. Códigos de color

Los colores web usan valores RGB hexadecimales:

  • #FF0000 = Rojo (255 rojo, 0 verde, 0 azul)
  • #00FF00 = Verde
  • #0000FF = Azul
  • #FFFFFF = Blanco (todos los canales al máximo)
  • #000000 = Negro (todos los canales a cero)

Cada par de dígitos hexadecimales representa un canal de color (0-255).

3. Valores de byte

Un solo byte varía de 00 a FF en hexadecimal (0-255 decimal). Dos caracteres hexadecimales son más fáciles de leer que hasta tres dígitos decimales.

Octal (base 8): el sistema histórico

Orígenes del octal

El octal fue popular en la informática temprana por la misma razón que el hexadecimal: se asigna limpiamente a binario (8 = 2^3, por lo que cada dígito octal representa 3 bits). Las primeras computadoras como el PDP-8 usaban palabras de 12 bits, que se dividen uniformemente entre 3 pero no entre 4, lo que hace que el octal sea la opción natural.

Octal en la informática moderna

Aunque en su mayoría ha sido sustituido por el hexadecimal, el octal sobrevive en un área importante: permisos de archivo de Unix.

bash chmod 755 script.sh

Cada dígito representa permisos para el propietario, el grupo y otros:

  • 7 = 111 binario = leer + escribir + ejecutar
  • 5 = 101 binario = leer + ejecutar
  • 0 = 000 binario = sin permisos

Los bits de permiso:

OctalBinarioSignificado
0000Sin permiso
1001Solo ejecutar
2010Solo escribir
3011Escribir + Ejecutar
4100Solo lectura
5101Leer + Ejecutar
6110Leer + Escribir
7111Permiso completo

Notación octal

Los números octales suelen usar:

  • Prefijo 0: 0755 (C, JavaScript)
  • Prefijo 0o: 0o755 (Python 3)

Conversión entre sistemas numéricos

Decimal a binario

Método: División repetida por 2

Para convertir 181 a binario:

  1. 181 ÷ 2 = 90 resto 1
  2. 90 ÷ 2 = 45 resto 0
  3. 45 ÷ 2 = 22 resto 1
  4. 22 ÷ 2 = 11 resto 0
  5. 11 ÷ 2 = 5 resto 1
  6. 5 ÷ 2 = 2 resto 1
  7. 2 ÷ 2 = 1 resto 0
  8. 1 ÷ 2 = 0 resto 1

Leyendo los restos de abajo hacia arriba: 10110101

Binario a hexadecimal

Método: Agrupar en Nibbles

Convertir 10110101 a hexadecimal:

  1. Agrupar en secciones de 4 bits desde la derecha: 1011 0101
  2. Convertir cada grupo: 1011 = B, 0101 = 5
  3. Resultado: B5

Hexadecimal a decimal

Método: Notación posicional

Convertir B5 a decimal:

  1. B = 11, posición 1: 11 × 16^1 = 176
  2. 5 = 5, posición 0: 5 × 16^0 = 5
  3. Total: 176 + 5 = 181

Tabla de conversiones de referencia rápida

DecimalBinarioOctalHex
0000
81000108
10101012A
15111117F
16100002010
321000004020
64100000010040
100110010014464
12711111111777F
1281000000020080
25511111111377FF
256100000000400100

Conceptos básicos de la aritmética binaria

Suma binaria

La suma binaria sigue reglas simples:

  • 0 + 0 = 0
  • 0 + 1 = 1
  • 1 + 0 = 1
  • 1 + 1 = 10 (0, carry 1)

Ejemplo: 1011 + 0110

1011  (11 en decimal)
  • 0110 (6 en decimal)

10001 (17 en decimal)

Resta binaria

Usando el complemento a dos (cómo las computadoras realmente restan):

  1. Invertir todos los bits del sustraendo
  2. Añadir 1
  3. Añadir al minuendo

Ejemplo: 1011 - 0110 (11 - 6)

  1. Invertir 0110 → 1001
  2. Añadir 1 → 1010
  3. Añadir: 1011 + 1010 = 10101
  4. Descartar el desbordamiento: 0101 = 5

Operaciones bit a bit

Los programadores utilizan con frecuencia operaciones bit a bit:

AND (&): Ambos bits deben ser 1

1010 & 1100 = 1000

OR (|): Cualquiera de los bits puede ser 1

1010 | 1100 = 1110

XOR (^): Exactamente un bit debe ser 1

1010 ^ 1100 = 0110

NOT (~): Invierte todos los bits

~1010 = 0101

Desplazamiento a la izquierda (<<): Multiplicar por 2

1010 << 1 = 10100

Desplazamiento a la derecha (>>): Dividir por 2

1010 >> 1 = 0101

Aplicaciones prácticas

Depuración de memoria

Al depurar, los volcados de memoria muestran hexadecimal:

0x0000: 48 65 6C 6C 6F 20 57 6F Hello Wo 0x0008: 72 6C 64 21 00 00 00 00 rld!....

Cada byte se muestra en hexadecimal, con la interpretación ASCII a la derecha.

Protocolos de red

Las direcciones MAC usan hexadecimal: 00:1A:2B:3C:4D:5E Las direcciones IPv6 usan hexadecimal: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Criptografía

Los valores hash se muestran en hexadecimal:

SHA-256: e3b0c44298fc1c149afbf4c8996fb924...

Ensamblaje y programación de bajo nivel

Los códigos de operación de las instrucciones, los valores de los registros y las direcciones de memoria usan hexadecimal para facilitar la lectura.

Conclusiones clave

  1. El binario es el lenguaje nativo de las computadoras porque los transistores tienen dos estados
  2. El hexadecimal proporciona binario legible por humanos con una asignación perfecta de bits 4:1
  3. El octal sobrevive principalmente en los permisos de Unix debido a la agrupación de 3 bits
  4. La conversión entre bases se vuelve intuitiva con la práctica
  5. Las operaciones bit a bit son herramientas poderosas para una programación eficiente

See what our calculators can do for you

Ready to take control of your finances?

Utilice nuestros convertidores gratuitos para cambiar entre binario, hexadecimal, decimal y octal

Explore Our Tools

Frequently Asked Questions

Common questions about the Binario, Hexadecimal y Octal: Sistemas numéricos que todo programador debe conocer

Las computadoras usan binario porque sus bloques de construcción fundamentales, los transistores, tienen dos estados: encendido y apagado. El uso de solo dos niveles de voltaje (alto para 1, bajo para 0) hace que los circuitos sean más fiables y menos susceptibles al ruido eléctrico que tratar de distinguir entre 10 niveles de voltaje diferentes para decimal.
Binario, Hexadecimal y Octal: Sistemas numér... | FinToolset