Conversor binario, decimal y hexadecimal
Cómo funciona
Elige la base de origen (decimal, binario, octal o hexadecimal) y escribe el número. El mismo valor aparece al instante en las cuatro bases, una debajo de otra, cada una con su botón Copiar. Las últimas diez conversiones quedan en la lista Conversiones recientes, guardada en el navegador: un clic en una entrada recarga el valor y la base, y el botón Borrar vacía la lista.
Por qué cuatro bases. El número es siempre el mismo, solo cambia cómo se escribe. El decimal (base 10) es con el que contamos las personas. Los dispositivos electrónicos trabajan en binario (base 2) porque un transistor está encendido o apagado. Hexadecimal (base 16) y octal (base 8) son formas compactas de escribir el binario, mucho más legibles que una larga fila de ceros y unos.
Dónde encuentras cada base en el trabajo de todos los días: • Hexadecimal: direcciones de memoria (0x7FFE…), colores CSS y HTML (#1A73E8), bytes en un editor hexadecimal, direcciones MAC, puntos de código Unicode (U+1F680) y máscaras de bits. Un byte son exactamente dos cifras hexadecimales (de 00 a FF). • Binario: banderas, registros, máscaras de red y cada vez que necesitas ver los bits uno a uno. • Octal: los permisos de archivos en Unix y Linux (chmod 755, chmod 644), donde cada cifra encierra tres bits de permiso. • Decimal: los números para las personas, como precios, cantidades e ID.
Cómo funciona la conversión. Cada posición de un número vale la base elevada a la posición, contando desde cero a la derecha. En hexadecimal, 0x1A vale 1 × 16¹ + 10 (A) × 16⁰ = 26. El mismo número en binario es 11010 (16 + 8 + 2 = 26) y en octal 32 (3 × 8 + 2 = 26). La herramienta lee las cifras en la base de origen, obtiene un entero y lo reescribe en las cuatro bases.
Qué lee del campo. Las cifras se leen de izquierda a derecha mientras sean válidas para la base elegida, y la lectura se detiene en la primera que no lo es. Si ya el primer carácter no es válido (una G en hexadecimal, un 2 en binario), aparece el aviso Número no válido para la base elegida. En hexadecimal puedes pegar el valor con el prefijo 0x. La parte que sigue a un punto o a una coma decimal se ignora, porque la herramienta trabaja con enteros, y un signo menos delante da el valor negativo en todas las bases (−1010 en binario, −A en hexadecimal), no la representación en complemento a dos.
Los enteros hasta el límite seguro de JavaScript (2⁵³ − 1, es decir, 9.007.199.254.740.991) se convierten con exactitud. Por encima de ese umbral los valores pierden precisión en todas las bases.
Todo se calcula en tu navegador con unas pocas operaciones aritméticas. No se envía ningún valor: puedes comprobarlo en la pestaña Red de las herramientas para desarrolladores, y la lista de conversiones recientes también se queda en tu dispositivo.
Preguntas frecuentes
¿Cómo se convierte de decimal a binario?
- Divide el número entre 2 y anota el resto (0 o 1), luego repite con el cociente hasta llegar a cero: las cifras binarias son los restos leídos de abajo arriba. Para 26: 26 : 2 = 13 resto 0, 13 : 2 = 6 resto 1, 6 : 2 = 3 resto 0, 3 : 2 = 1 resto 1, 1 : 2 = 0 resto 1, por tanto 11010. Con el mismo método divides entre 8 para el octal y entre 16 para el hexadecimal, usando las letras de la A a la F para los restos de 10 a 15.
¿Cómo se convierte de binario a decimal?
- Multiplica cada cifra por la potencia de 2 de su posición, empezando por 2⁰ a la derecha, y suma. 11010 es 1 × 16 + 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1 = 26. En la herramienta elige Binario como base de origen, escribe 11010 y lee 26 en la fila Decimal.
¿Cuánto vale 0x1A en decimal?
- 26. La A vale 10 y la cifra de la izquierda vale 16 veces más: 1 × 16 + 10 = 26. El mismo número es 11010 en binario y 32 en octal. Elige Hexadecimal como base de origen y puedes pegar el valor también con el prefijo 0x.
¿Cuánto vale 255 en binario y en hexadecimal?
- 11111111 en binario y FF en hexadecimal (377 en octal). Es el valor más alto que cabe en un byte sin signo, y por eso cada canal de un color RGB va de 0 a 255, es decir, de 00 a FF.
¿Qué bases numéricas admite?
- Cuatro: decimal (base 10), binario (base 2), octal (base 8) y hexadecimal (base 16). Son las bases que hacen falta para la programación, los permisos de archivos, la depuración a bajo nivel y los ejercicios de informática.
¿Por qué los programadores usan el hexadecimal en lugar del binario?
- Porque es binario escrito cuatro veces más corto. Cada cifra hexadecimal corresponde exactamente a cuatro bits (de 0 a F, es decir, de 0000 a 1111), así que un byte son siempre dos cifras. El blanco puro es 11111111 11111111 11111111 en binario y #FFFFFF en hexadecimal: un tercio de los caracteres, con la misma precisión bit a bit.
¿Para qué sirve el octal?
- Hoy sobre todo para los permisos de archivos en Unix y Linux: chmod 755, chmod 644. Cada cifra octal (de 0 a 7) encierra tres bits de permiso (lectura 4, escritura 2, ejecución 1), así que 7 es rwx, 6 es rw- y 5 es r-x. Fuera de ahí lo ha sustituido casi por completo el hexadecimal.
¿Puedo convertir números grandes?
- Sí, hasta 2⁵³ − 1 (9.007.199.254.740.991), el límite de los enteros seguros de JavaScript: hasta ahí la conversión es exacta. Por encima, los valores pierden precisión en todas las bases, así que para trabajar a 64 bits necesitas una herramienta que use BigInt.
¿Convierte números negativos?
- Sí, con el signo menos delante: −10 pasa a ser −1010 en binario y −A en hexadecimal. No es el complemento a dos, es decir, la secuencia de bits de ancho fijo que una CPU usa para un entero negativo: si necesitas esa para un registro de 8, 16 o 32 bits, tienes que calcularla aparte.
¿Convierte números con decimales?
- No, solo enteros: con 3,75 se lee únicamente el 3. Convertir la parte fraccionaria entre bases es otra operación (se multiplica repetidamente por la base) y a menudo no termina nunca: 0,1 en decimal pasa a ser 0,0001100110011… periódico en binario.
¿Qué son un bit, un nibble y un byte?
- Un bit es una sola cifra binaria, 0 o 1. Un nibble son cuatro bits, es decir, exactamente una cifra hexadecimal (de 0 a F). Un byte son ocho bits, es decir, dos cifras hexadecimales, y puede tomar 256 valores: de 0 a 255, o de −128 a 127 con signo.
¿Dónde se guardan las conversiones recientes?
- En el localStorage de tu navegador: las últimas diez se mantienen aunque recargues la página y no salen nunca del dispositivo. Un clic en una entrada recarga el valor y la base, y el botón Borrar vacía la lista.
¿Los números que escribo se envían a un servidor?
- No. La conversión la hace JavaScript en la pestaña del navegador y no sale ninguna petición de red: puedes comprobarlo en la pestaña Red de las herramientas para desarrolladores.
Tabla de conversión decimal, binario, octal, hexadecimal
Las conversiones que más se buscan: las cifras sueltas, las potencias de dos y los límites de los bytes (127, 255, 256, 65535). Cada fila es el mismo número escrito de cuatro maneras.
| Decimal | Binario | Octal | Hexadecimal | Nota |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | |
| 1 | 1 | 1 | 1 | |
| 2 | 10 | 2 | 2 | |
| 3 | 11 | 3 | 3 | |
| 4 | 100 | 4 | 4 | |
| 5 | 101 | 5 | 5 | |
| 6 | 110 | 6 | 6 | |
| 7 | 111 | 7 | 7 | La cifra octal más alta |
| 8 | 1000 | 10 | 8 | |
| 9 | 1001 | 11 | 9 | |
| 10 | 1010 | 12 | A | Aquí empiezan las cifras hexadecimales de la A a la F |
| 11 | 1011 | 13 | B | |
| 12 | 1100 | 14 | C | |
| 13 | 1101 | 15 | D | |
| 14 | 1110 | 16 | E | |
| 15 | 1111 | 17 | F | Un nibble completo (4 bits) |
| 16 | 10000 | 20 | 10 | 2⁴ |
| 31 | 11111 | 37 | 1F | |
| 32 | 100000 | 40 | 20 | 2⁵ |
| 64 | 1000000 | 100 | 40 | 2⁶ |
| 100 | 1100100 | 144 | 64 | |
| 127 | 1111111 | 177 | 7F | Valor máximo de un byte con signo (int8) |
| 128 | 10000000 | 200 | 80 | 2⁷ |
| 255 | 11111111 | 377 | FF | Valor máximo de un byte sin signo |
| 256 | 100000000 | 400 | 100 | 2⁸, todos los valores de un byte |
| 1000 | 1111101000 | 1750 | 3E8 | |
| 1024 | 10000000000 | 2000 | 400 | 2¹⁰ = 1 KiB |
| 4096 | 1000000000000 | 10000 | 1000 | 2¹² = 4 KiB |
| 65535 | 1111111111111111 | 177777 | FFFF | Valor máximo de un entero de 16 bits sin signo |
| 65536 | 10000000000000000 | 200000 | 10000 | 2¹⁶ = 64 KiB |
Valores exactos. El binario se agrupa en nibbles (4 bits = 1 cifra hexadecimal) y en bytes (8 bits = 2 cifras hexadecimales); las filas de las potencias de dos marcan los límites de los enteros más comunes.