Reescribir el Mismo Valor en Binario, Octal, Decimal y Hexadecimal
Una base numérica (o “raíz”) es la cantidad de dígitos distintos que utiliza un sistema numeral antes de pasar al siguiente valor posicional — el decimal usa 10 (0–9), el binario usa 2 (0–1), el octal usa 8 (0–7) y el hexadecimal usa 16 (0–9 y luego A–F). Ingresa un número entero en cualquiera de estas cuatro bases, y esta calculadora muestra el mismo valor escrito en las cuatro a la vez.
El binario es la forma en que las computadoras representan internamente cada valor (cada dígito es un “bit”); el hexadecimal es una abreviatura común del binario en programación (cada dígito hexadecimal representa exactamente 4 dígitos binarios, por lo que es mucho más compacto de leer y escribir); el octal aparece en los permisos de archivos de sistemas Unix más antiguos y en algunos contextos de bajo nivel. El decimal es simplemente el sistema cotidiano de base 10.
La fórmula
Todo sistema numeral posicional funciona de la misma manera: cada dígito se multiplica por la base elevada a la potencia de su valor posicional, y luego se suman:
donde es el dígito en la posición (contando desde 0 en el dígito más a la derecha). Convertir a una base diferente divide repetidamente el valor decimal entre la nueva base, registrando cada residuo — el proceso inverso de la suma anterior.
Ejemplo resuelto
Convirtiendo el binario 11111111 a sus otras tres bases:
- Leyendo de derecha a izquierda, cada
1aporta su valor posicional: . - Decimal: 255.
- Octal: dividiendo 255 entre 8 repetidamente (255 ÷ 8 = 31 r7, 31 ÷ 8 = 3 r7, 3 ÷ 8 = 0 r3), los residuos se leen de abajo hacia arriba como 377.
- Hexadecimal: 255 ÷ 16 = 15 r15, 15 ÷ 16 = 0 r15 — ambos residuos son 15 (F en hexadecimal), lo que da FF.
Factores Clave a Considerar
- Un solo byte (8 bits) puede representar exactamente 256 valores distintos — de 0 a 255 en decimal, o de 00 a FF en hexadecimal. Esta es exactamente la razón por la que 255/FF es un valor de referencia tan común en informática — es el valor máximo que puede contener un solo byte, algo que aparece en todas partes, desde los canales de color RGB (0-255 por canal) hasta redes y formatos de archivo.
- El octal era históricamente más común de lo que es hoy, en gran parte debido a los tamaños de palabra de computadoras más antiguas. El octal (base 8) se mapea limpiamente sobre grupos de 3 dígitos binarios, lo cual convenía a computadoras construidas con tamaños de palabra divisibles entre 3 bits — la informática moderna se ha desplazado en gran medida hacia el hexadecimal (que se mapea sobre grupos de 4 bits) ya que la mayoría del hardware moderno usa tamaños de palabra divisibles entre 4 y 8, aunque el octal todavía aparece en contextos específicos como la notación de permisos de archivos de Unix (por ejemplo, chmod 755).
- Un error común de programador es confundir la base de un número solo por el contexto. Los dígitos “10” significan valores muy distintos según la base — 10 en decimal, 2 en binario, 8 en octal, 16 en hexadecimal — razón por la cual los lenguajes de programación típicamente requieren un prefijo explícito (como 0x para hexadecimal o 0b para binario) para eliminar cualquier ambigüedad sobre qué base se pretende.
- Cualquier número entero puede teóricamente representarse en CUALQUIER base, no solo estas cuatro. Binario, octal, decimal y hexadecimal son simplemente las cuatro bases con el uso más común en el mundo real de la informática y las matemáticas cotidianas — el mismo principio de notación posicional que usa esta calculadora se extiende a cualquier base, como base 3, base 20, o base 60 (la base de cómo se dividen tradicionalmente el tiempo y los ángulos).
Errores Comunes
- Leer un número de base mixta sin prefijo como decimal por defecto. “10” significa diez en decimal pero solo dos en binario — siempre verifica (o indica) en qué base está escrito un número antes de hacer cálculos con él.
- Suponer que los ceros a la izquierda cambian el valor. Igual que en decimal,
0011en binario es el mismo valor que11— los ceros a la izquierda solo son relevantes para el formateo de ancho fijo (como mostrar un byte completo), no para el valor real del número. - Olvidar que los dígitos hexadecimales mayores que 9 usan letras, no números de dos dígitos.
El diez hexadecimal se escribe como
A, no10— escribir10en hexadecimal en realidad significa dieciséis en decimal, una fuente común de errores considerables. - Intentar convertir un número negativo directamente. Como señalan las preguntas frecuentes anteriores, los valores binarios/hexadecimales negativos dependen de un ancho de bits elegido y una convención de complemento a dos — no hay una única conversión inequívoca como la que existe para números enteros no negativos.
Útil Saber
- ¿Trabajas con direcciones de red en lugar de números arbitrarios? Calculadora de Subred IP aplica esta misma relación binario/decimal específicamente a las direcciones IPv4.
- ¿Necesitas números decimales muy grandes o muy pequeños en una forma compacta? Calculadora de Notación Científica maneja ese tipo de conversión en su lugar.
- ¿Tienes curiosidad por un sistema de numeración posicional mucho más antiguo? Calculadora de Números Romanos convierte hacia y desde números romanos, que usan un enfoque completamente distinto (no posicional).