¿Qué es un conversor de binario a hexadecimal?
Esta herramienta convierte un número escrito en binario (base 2, con los dígitos 0 y 1) a hexadecimal (base 16, con los dígitos 0-9 y A-F). El hexadecimal se usa muchísimo en programación, direcciones de memoria, códigos de color y depuración porque representa los datos binarios de forma mucho más compacta: cada grupo de cuatro bits se convierte en exactamente un dígito hexadecimal.
Cómo usarlo
Escribe o pega un número binario como 11010110 en el campo de entrada y pulsa convertir. Los espacios o caracteres sueltos se ignoran, así que 1101 0110 también funciona. El resultado muestra el valor hexadecimal, el valor decimal equivalente y el número de bits.
La fórmula explicada
La conversión se basa en que \(16 = 2^4\). El algoritmo rellena la cadena binaria por la izquierda con ceros hasta que su longitud es múltiplo de 4, y después la divide en grupos de 4 bits llamados nibbles, empezando por la derecha. Cada nibble es un valor de 0 a 15, que se calcula como $$8\cdot b_3 + 4\cdot b_2 + 2\cdot b_1 + b_0$$ y ese valor corresponde a un único dígito hexadecimal (del 0 al 9 y luego de la A a la F). Al concatenar los dígitos se obtiene el resultado en hexadecimal.
$$\text{Hex}_{16} = \sum_{i=0}^{n-1} d_i \cdot 16^{i}, \quad d_i \in \{0\text{–}9,\,A\text{–}F\} \;\leftarrow\; \text{Binary (base 2)}$$
Ejemplo resuelto
Tomemos 11010110. Lo dividimos en nibbles: 1101 y 0110. El primero equivale a \(8+4+0+1 = 13 = D\). El segundo equivale a \(0+4+2+0 = 6\). Por tanto, el resultado en hexadecimal es D6, que es 214 en decimal.
Tabla de búsqueda de nibble binario a dígito hexadecimal
La forma más rápida de convertir binario a hexadecimal es dividir los bits en grupos de cuatro (llamados nibbles) y reemplazar cada nibble con un único dígito hexadecimal. Como \(2^4 = 16\), cada patrón de 4 bits se asigna a exactamente uno de los 16 dígitos hexadecimales. Memorizar o consultar la tabla a continuación te permite convertir cualquier número binario nibble a nibble, sin necesidad de división alguna.
| Binario de 4 bits (nibble) | Decimal (base 10) | Dígito hexadecimal (base 16) |
|---|---|---|
| 0000 | 0 | 0 |
| 0001 | 1 | 1 |
| 0010 | 2 | 2 |
| 0011 | 3 | 3 |
| 0100 | 4 | 4 |
| 0101 | 5 | 5 |
| 0110 | 6 | 6 |
| 0111 | 7 | 7 |
| 1000 | 8 | 8 |
| 1001 | 9 | 9 |
| 1010 | 10 | A |
| 1011 | 11 | B |
| 1100 | 12 | C |
| 1101 | 13 | D |
| 1110 | 14 | E |
| 1111 | 15 | F |
Ejemplo resuelto: el byte 11010110 se divide en 1101 y 0110. De la tabla, estos se asignan a D y 6, dando el valor hexadecimal D6, que equivale a decimal 214. Si la longitud de un número binario no es múltiplo de 4, rellena el lado izquierdo con ceros a la izquierda antes de agrupar (por ejemplo, 101101 se convierte en 0010 1101 → 2D).
Términos clave
- Bit
- La unidad más pequeña de información digital, que contiene un único valor binario de 0 o 1. La palabra es una contracción de "dígito binario".
- Nibble
- Un grupo de cuatro bits. Como cuatro bits representan \(2^4 = 16\) valores posibles, un nibble corresponde exactamente a un dígito hexadecimal, lo que hace que la conversión de binario a hexadecimal sea tan directa.
- Byte
-
Un grupo de ocho bits (dos nibbles). Un byte contiene \(2^8 = 256\) valores posibles y se escribe como exactamente dos dígitos hexadecimales, por ejemplo
11111111=FF= 255. - Base / Raíz
- El número de símbolos de dígitos distintos que utiliza un sistema de numeración posicional, y el multiplicador entre valores de posición. Binario es base 2, decimal es base 10 y hexadecimal es base 16. En base \(b\), el dígito en la posición \(i\) (contando desde 0 en la derecha) tiene el peso \(b^{i}\).
- Binario (base 2)
- Un sistema de numeración que utiliza solo los dígitos 0 y 1, donde cada posición vale una potencia de dos. Refleja los estados encendido/apagado de la electrónica digital, lo que lo convierte en el lenguaje nativo de las computadoras.
- Decimal (base 10)
- El sistema de numeración cotidiano que utiliza dígitos del 0 al 9, donde cada posición vale una potencia de diez. Sirve como punto de referencia común al comparar valores binarios y hexadecimales.
- Hexadecimal (base 16)
- Un sistema de numeración que utiliza dieciséis dígitos: 0–9 seguidos de A–F (donde A=10, B=11, C=12, D=13, E=14, F=15). Su compacidad (un dígito hexadecimal por nibble) hace que las cadenas binarias largas sean mucho más fáciles de leer y escribir para los humanos.
- MSB / LSB
- El bit más significativo es el bit más a la izquierda, que lleva el mayor valor de posición (la potencia de dos más alta). El bit menos significativo es el bit más a la derecha, que lleva el valor más pequeño (\(2^0 = 1\)). La misma idea de "más/menos significativo" se aplica a dígitos completos en hexadecimal.
- Prefijo 0x
-
Un marcador convencional, escrito antes de un número, que indica que el valor se expresa en hexadecimal — por ejemplo
0xD6significa el valor hexadecimal D6 (decimal 214), no los dígitos "D6" en alguna otra base. Se utiliza ampliamente en lenguajes de programación como C, Java y Python. El binario se prefija de manera similar con0b.
Preguntas frecuentes
¿Qué pasa si los bits no se dividen exactamente entre 4? El conversor añade ceros a la izquierda automáticamente, de modo que 1010110 se convierte en 0101 0110 = 56.
¿Admite ceros a la izquierda? Sí: los ceros a la izquierda se eliminan del resultado hexadecimal final, pero no cambian el valor.
¿La salida está en mayúsculas? Los dígitos hexadecimales A-F se muestran en mayúsculas por convención, y se anteponen con 0x para mayor claridad.