Conversor de bases numéricas (binario, octal, decimal, hex)
Convierte números entre binario, octal, decimal, hexadecimal y cualquier base personalizada del 2 al 36.
Cargando Conversor de bases numéricas (binario, octal, decimal, hex)… Si no ocurre nada, activa JavaScript.
Los sistemas numéricos posicionales representan los números mediante un conjunto fijo de símbolos de dígitos, donde el valor de cada dígito depende de su posición. Los humanos desarrollamos de forma natural la aritmética en base 10 (decimal), casi con toda seguridad porque tenemos diez dedos. Pero los ordenadores digitales se construyen con transistores que solo pueden existir en dos estados, encendido o apagado, lo que convierte la base 2 (binario) en el lenguaje natural del hardware informático. Cada número, instrucción y fragmento de texto almacenado en cualquier ordenador del mundo se codifica en última instancia como una secuencia de unos y ceros. Las demás bases, octal (base 8) y hexadecimal (base 16), surgieron como una abreviatura cómoda del binario: un dígito octal representa exactamente tres dígitos binarios, y un dígito hex representa exactamente cuatro, lo que las hace mucho más compactas para que un humano lea datos binarios.
Ejemplos
255 (decimal)
FF (hex) · 11111111 (binary) · 377 (octal)
0xFF (hex)
255 (decimal)
1010 (binary)
10 (decimal)
Preguntas frecuentes
¿Se envía algún dato a un servidor cuando uso esta herramienta?
¿Por qué los ordenadores usan binario en lugar de decimal?
¿Por qué se usa el hexadecimal para los códigos de color y las direcciones de memoria?
¿Qué tienen que ver los números octales con los permisos de archivo de Unix?
¿Puedo convertir números muy grandes sin pérdida de precisión?
¿Cuál es la historia de la notación hexadecimal en la informática?
¿Hay casos límite con los ceros a la izquierda o los números muy pequeños?
¿Admite esta herramienta el complemento a dos para los números negativos?
¿Qué conversiones de base merece la pena saberse de memoria?
¿Cuál es un malentendido habitual de los principiantes sobre los números binarios?
Acerca de Conversor de bases numéricas (binario, octal, decimal, hex)
Los desarrolladores se topan con múltiples bases constantemente. El hexadecimal está por todas partes: los colores CSS (#ff6600), las direcciones de memoria en los depuradores (0x7ffee4b3c8d0), los números mágicos de los formatos de archivo (0xFF 0xD8 para JPEG), los permisos de archivo de Unix en forma numérica (0755) y las direcciones MAC de red usan todos notación hex. El binario es esencial para entender las operaciones a nivel de bits, los campos de banderas, las máscaras de subred de red y la codificación de datos. El octal aparece en las cadenas de modo de permisos de archivo de Unix, el familiar chmod 755 o chmod 644, y en algunos protocolos de comunicación heredados. La base 36 (que usa los dígitos 0–9 y las letras A–Z) se emplea en los acortadores de URL y en los esquemas de identificadores únicos que necesitan cadenas compactas e insensibles a mayúsculas.
Este conversor acepta un valor en cualquier base del 2 al 36 y lo muestra simultáneamente en binario, octal, decimal, hexadecimal y cualquier base personalizada que especifiques. El cálculo usa el tipo BigInt de JavaScript, que admite enteros de precisión arbitraria, por lo que no hay límite superior para el tamaño del número que puedes convertir, a diferencia del tipo Number estándar, que pierde precisión más allá de 2^53. Todo el procesamiento se ejecuta en tu navegador sin comunicación con ningún servidor.
Algunos matices que conviene tener en cuenta: los dígitos hexadecimales usan las letras A–F (o a–f) para los valores 10–15, y las mayúsculas o minúsculas no tienen significado semántico, pero las convenciones difieren: los registros de la CPU se muestran tradicionalmente en mayúsculas, mientras que los colores CSS suelen escribirse en minúsculas. Al introducir valores binarios, ten cuidado con los ceros a la izquierda: son válidos y se conservan en la visualización, pero no afectan al valor numérico. La notación en complemento a dos, que se usa para representar enteros negativos en el hardware, no la produce esta herramienta porque su salida depende del tamaño de palabra (8 bits, 16 bits, 32 bits, 64 bits) del sistema de destino.
De los dedos a los transistores: por qué el mundo cuenta en base 16
Los humanos hemos usado la base 10 durante miles de años casi con toda seguridad simplemente porque nacimos con diez dedos. La evidencia arqueológica apunta a sistemas de conteo que se remontan al menos a 40.000 años, y los babilonios desarrollaron un sofisticado sistema en base 60 (sexagesimal) hacia el año 2000 a. C., una elección que aún resuena en nuestros minutos de 60 segundos y en los círculos de 360 grados. El sistema decimal que usamos hoy se formalizó en la India hacia los siglos V–VI d. C. con la invención de la notación posicional y el concepto del cero, y luego se transmitió a Europa a través de los matemáticos árabes, dándonos los numerales indoarábigos que usamos hoy.
La adopción del binario en la informática no era inevitable. La máquina analítica mecánica del siglo XIX de Charles Babbage usaba decimal. Las propuestas informáticas de principios del siglo XX exploraron la base 3 (ternaria) e incluso sistemas electrónicos en base 10. Unos ingenieros soviéticos de la Universidad Estatal de Moscú llegaron a construir un ordenador ternario funcional, el Setun, en 1958, argumentando que era más eficiente que el binario. Pero el binario acabó imponiéndose porque requería la menor complejidad de ingeniería: un transistor está encendido o apagado, sin más. Cualquier estado adicional implica una calibración de voltaje más cuidadosa, más calor y más errores.
El hexadecimal se convirtió en la representación dominante legible por humanos de los datos binarios gracias al System/360 de IBM de 1964, que estandarizó el byte de 8 bits como la unidad fundamental de información. Una vez que los bytes fueron universales, que dos dígitos hex se correspondieran exactamente con un byte resultó irresistible para los ingenieros que leían volcados de memoria y valores de registros. El prefijo 0x para marcar los literales hex lo introdujo el lenguaje C hacia 1972 y se extendió a prácticamente todos los lenguajes principales que vinieron después: C++, Java, Python, JavaScript, Go, Rust, Swift y más. Hoy, el hex está tan arraigado en la cultura informática que los diseñadores de color, los ingenieros de red y los investigadores de seguridad piensan y se comunican en base 16 con total naturalidad.