Conversor de bases numéricas (binario, octal, decimal, hexadecimal)

Convierte números entre binario, octal, decimal y hexadecimal. Usa BigInt para convertir con precisión incluso enteros muy grandes, sin errores de redondeo.

Consejos de uso

  • Al introducir un valor hexadecimal, no añadas prefijos como `0x`; escribe solo los dígitos (por ejemplo, `FF`). Se reconocen tanto mayúsculas como minúsculas.
  • Esta herramienta usa BigInt internamente, por lo que puede convertir con precisión enteros muy grandes (por encima de 2^53) que perderían precisión con el tipo Number de JavaScript.
  • Resulta útil para tareas habituales de programación, como leer códigos de color hexadecimales (por ejemplo, `#FF0000`) o comprobar representaciones binarias en operaciones a nivel de bits.
  • El sistema octal se usa habitualmente en los permisos de archivos de sistemas tipo Unix (por ejemplo, `755`). Compararlo con el decimal y el binario ayuda a entender mejor el significado de cada permiso.

Preguntas frecuentes

Son distintas "bases" utilizadas para representar números. El decimal usa 10 dígitos (0-9) y es el sistema que usamos habitualmente; el binario usa solo 0 y 1 y es el que emplean internamente los ordenadores; el octal usa del 0 al 7; y el hexadecimal usa del 0 al 9 y de la A a la F. El octal y el hexadecimal se usan mucho en informática y electrónica.

Un solo dígito hexadecimal representa exactamente 4 bits (4 dígitos binarios), lo que permite comprimir datos binarios en una forma mucho más legible para las personas. Se usa ampliamente en direcciones de memoria, códigos de color (`#RRGGBB`), códigos de caracteres y otros contextos donde hay que manejar secuencias de bits internas del ordenador.

Con una calculadora normal o con el tipo Number de JavaScript, los enteros mayores que 2 elevado a 53 (unos 9 mil billones) pueden perder precisión. Esta herramienta usa BigInt, un tipo entero de precisión arbitraria, por lo que convierte con exactitud números de cualquier tamaño, sin errores.

El octal se usa principalmente en la notación de permisos de archivos de sistemas tipo Unix (Linux, macOS, etc.), como en `chmod 755`. Cada dígito representa una combinación de permisos de lectura (4), escritura (2) y ejecución (1), de modo que un solo dígito octal expresa de forma concisa los permisos del propietario, del grupo y de otros usuarios.
ツールくん

A propósito — ¿por qué los ordenadores funcionan en binario?

Los ordenadores se basan en el sistema binario (0 y 1) porque los circuitos electrónicos distinguen con fiabilidad solo dos estados: "voltaje alto/bajo" o "interruptor encendido/apagado". Construir un circuito que deba distinguir con precisión diez niveles de voltaje distintos, como exigiría el decimal, sería mucho más sensible al ruido y más complejo. Por estas razones prácticas de ingeniería, casi todos los ordenadores modernos se basan en el binario.

El hexadecimal resulta tan útil en programación gracias a una propiedad matemática muy conveniente: cuatro dígitos binarios (de 0000 a 1111) corresponden exactamente a un dígito hexadecimal (de 0 a F). Por ejemplo, un byte (8 bits) puede escribirse con solo dos dígitos hexadecimales (`00` a `FF`), comprimiendo en una longitud mucho más legible lo que en binario ocuparía ocho dígitos.

El octal se popularizó por razones históricas: los primeros ordenadores, como el PDP-8 (años 60), usaban tamaños de palabra múltiplos de 3 bits (12 o 36 bits, por ejemplo), lo que hacía que el octal encajara de forma natural en aquella época. Cuando los ordenadores se estandarizaron en tamaños de palabra múltiplos de 4 bits (8, 16 o 32 bits), el hexadecimal resultó más práctico que el octal, y hoy sigue siendo el predominante. Aun así, el octal sobrevive en ciertos usos, como los permisos de archivos en Unix.