Saltar al contenido principal
CalcMax

Conversor de binario a hexadecimal

Resultado

B2

Hexadecimal

Agrupado de cuatro en cuatro
1011 0010

Este conversor de binario a hexadecimal reescribe un número de base dos a base dieciséis, y es la conversión más sencilla de toda la familia porque en realidad no se calcula nada: un dígito hexadecimal abarca exactamente cuatro dígitos binarios, así que el trabajo consiste en cortar la cadena binaria en grupos de cuatro empezando por la derecha y leer cada grupo como un único dígito. 10110010 se parte en 1011 y 0010, que son B y 2, de modo que la respuesta es B2. Esa relación fija de cuatro a uno es la razón de que el sistema hexadecimal exista: un byte son ocho bits y por tanto exactamente dos dígitos hexadecimales, y una dirección de dieciséis bits son exactamente cuatro. Por eso quien escribe código máquina, valores de color o direcciones de memoria usa esta base y no el binario directo. La página imprime debajo de la respuesta la agrupación que ha usado, porque la agrupación es la conversión. Si el número de dígitos no es múltiplo de cuatro, el grupo de la izquierda se rellena con ceros hasta que lo sea: 10110 pasa a ser 0001 0110, que es 16. Esos ceros no cambian el valor, solo la agrupación, y verlos aparecer es el único punto de esta página que sorprende a quien llega por primera vez.

Los dieciséis grupos de cuatro bits y el dígito hexadecimal que representa cada uno

NibbleDígito hexadecimalDecimal
000000
000111
001022
001133
010044
010155
011066
011177
100088
100199
1010A10
1011B11
1100C12
1101D13
1110E14
1111F15

Esta es la conversión entera, escrita del todo. Cada grupo de cuatro bits que existe aparece exactamente una vez, así que no hay nada que deducir en el momento de usarla: la tabla está cerrada, y quien la haya recorrido una vez puede leer cualquier cadena binaria en esta base cortándola en cuatros y buscando cada trozo. Es fija y no se deriva de la entrada de arriba, así que no cambia cuando el número cambia, y no hay contradicción cuando las dos parecen discrepar: el panel responde por lo que se ha tecleado y la tabla responde a la pregunta general de cuáles son los dieciséis grupos. Lee la columna del medio hacia abajo y cuenta de 0 a F sin saltos, que es justamente el punto: las letras no son un código, sino la continuación de las cifras más allá del nueve. Lee la primera columna hacia abajo y cuenta hacia arriba en binario exactamente en la misma medida, que es lo que hace mecánica la correspondencia. La tabla se detiene en 1111 porque ahí termina un dígito hexadecimal: el valor siguiente necesita un segundo dígito, y esa reagrupación ya la hace la página de arriba.

Fórmula

10110010 = 1011 0010 = B2

binary
El número que hay que reescribir, escrito en base dos. La conversión no cambia nada de él: el mismo valor queda escrito con otro juego de dígitos
nibble
Un grupo de cuatro dígitos binarios. Es la unidad con la que trabaja esta conversión, y hay exactamente dieciséis nibbles posibles, que es exactamente la razón de que la base dieciséis sea la que se empareja con el binario
0-9, A-F
Los dieciséis dígitos hexadecimales, uno por nibble. Diez son las cifras de siempre y los seis restantes son las letras de la A a la F, que representan del diez al quince
relleno de ceros
Los ceros que se añaden a la izquierda del primer grupo cuando el número de dígitos no es múltiplo de cuatro. Cambian la agrupación y nunca el valor, y por eso 10110 y 00010110 son dos maneras de escribir el mismo número
desde la derecha
La dirección en la que corre el corte. Los grupos se forman desde el extremo derecho porque ahí está la posición de las unidades, exactamente igual que los millares se separan en un número decimal
53 bits
Cuánto puede medir la entrada: cincuenta y tres dígitos binarios, que son 9.007.199.254.740.991 y salen a catorce dígitos hexadecimales en el otro extremo. Es la anchura a la que una máquina deja de distinguir enteros vecinos, así que una entrada más larga se rechaza en lugar de redondearse

Esta es la conversión que la gente hace más a menudo sin pensar en ella como una conversión. Leer un byte en un depurador, comprobar un valor de color, calcular una máscara de subred, descifrar el prefijo de un hash, leer el volcado de un registro de dispositivo o comparar dos banderas en un registro de log son casos en los que los bits son la verdad y el hexadecimal es la forma en la que se imprimen, y pasar de una vista a la otra es una constante del trabajo de bajo nivel. La dirección importa en los dos sentidos: una hoja de datos da un registro como valor hexadecimal y el bit que hay que comprobar se encuentra expandiéndolo, mientras que el trazado de un osciloscopio o una pregunta sobre un patrón de bits llegan en binario y hay que escribirlos en la forma que usa la documentación. Para el relleno de ceros la página da el ejemplo más claro, el de un byte: dos dígitos hexadecimales son siempre ocho bits, así que la anchura de un valor se lee directamente sin contar nada. Quien estudia lo encuentra como el atajo que vuelve manejables las cadenas binarias largas: dieciséis dígitos binarios son ilegibles y sus cuatro dígitos hexadecimales no, y saber que la relación es de cuatro a uno y no algo que haya que deducir elimina la aritmética de la tarea. La página imprime la agrupación para que el atajo se vea en lugar de afirmarse, y ese es el motivo de que sirva tanto para comprobar una conversión hecha a mano como para sustituirla. Para el sentido contrario está la página enlazada abajo.

Ejemplos resueltos

  1. Reescribir 10110010

    1. Corta la cadena en grupos de cuatro empezando por la derecha: 1011 y 0010
    2. Lee el primer grupo: 1011 es 8 + 2 + 1 = 11, que es B
    3. Lee el segundo grupo: 0010 es 2, que es 2
    4. Los dos dígitos juntos dan B2

    El valor por defecto, y además un byte, así que la agrupación sale exacta. B2 es la forma en la que este valor aparecería dentro de un depurador o de una hoja de datos; los ocho bits siguen ahí debajo, y por eso la agrupación se imprime al lado de la respuesta en lugar de dejarse implícita.

  2. Un solo nibble, 1111

    1. Cuatro dígitos ya son exactamente un grupo
    2. 1111 es 8 + 4 + 2 + 1 = 15
    3. Quince se escribe F en hexadecimal
    4. La respuesta es un único dígito, F

    El nibble más grande, y el que muestra por qué las letras se acaban donde se acaban: quince es el valor más alto que caben cuatro bits, así que F es el último dígito de la base. Con un solo dígito hexadecimal no se puede escribir nada más ancho, y esa es exactamente la propiedad que se está aprovechando.

  3. Rellenar una entrada corta, 10110

    1. Cinco dígitos no se dividen en cuatros, así que empieza por la derecha: 0110 es un grupo completo
    2. Sobra un dígito a la izquierda, así que se rellena hasta cuatro: 0001
    3. 0001 es 1 y 0110 es 6, lo que da los dos dígitos 16
    4. La agrupación mostrada es 0001 0110, que es dos dígitos más larga que la entrada

    El caso que parece un error y no lo es. La agrupación de salida es más larga que la entrada porque un dígito hexadecimal mide cuatro bits y el último grupo tiene que rellenarse hasta esa anchura. 10110 y 00010110 son el mismo número, y el relleno es lo que hace legible el segundo dígito: sin él, el dígito suelto que sobra no tendría ningún dígito que ser.

  4. Un valor negativo, -10110

    1. El signo menos está fuera del número, así que apártalo y convierte 10110
    2. 10110 se reagrupa como 0001 0110, que se lee 16
    3. Vuelve a poner el signo en las dos lecturas: -16

    El signo se queda fuera de los dígitos en las dos salidas. Plegarlo dentro exigiría una anchura fija en la que plegarlo, y aquí no hay ninguna: un procesador que guardara este valor en ocho bits escribiría un patrón de unos y ceros que depende por completo de que la anchura sea ocho. La lectura hexadecimal conserva el signo por la misma razón que la binaria.

Limitaciones

Esta página solo reescribe números binarios enteros. No hay punto binario, así que una entrada fraccionaria se rechaza en lugar de convertirse, y no se produce ninguna fracción hexadecimal. La entrada puede tener como máximo cincuenta y tres dígitos binarios, que son 9.007.199.254.740.991 y catorce dígitos hexadecimales en el otro extremo; los valores más largos no caben con exactitud en una máquina y se rechazan en lugar de aproximarse. Los ceros a la izquierda de la entrada se aceptan y se ignoran, pero los ceros que añade la agrupación se muestran a propósito: una salida rellenada es más ancha que su entrada y eso es deliberado, no un error. Un signo menos delante se acepta y se arrastra a las dos salidas. Solo números enteros, así que esto es una lectura y no aritmética: sumar, restar, multiplicar y dividir en cualquiera de las dos bases está en las páginas de calculadora enlazadas abajo, y el recorrido inverso, de hexadecimal a binario, tiene su propia página.

Preguntas frecuentes

¿Por qué la salida es más larga que lo que he tecleado?
Porque un dígito hexadecimal mide exactamente cuatro bits y el grupo de la izquierda tiene que rellenarse hasta esa anchura. Una entrada de cinco dígitos como 10110 es un grupo completo (0110) más un dígito suelto, y ese dígito se rellena por la izquierda hasta formar 0001. Los ceros no cambian el valor —10110 y 00010110 son el mismo número— y el relleno es lo que le da al último grupo un dígito que ser. Sin él, el dígito suelto no tendría con qué corresponderse en la tabla.
¿Hay alguna aritmética en esta conversión?
No, y eso es lo interesante. Como dieciséis es una potencia de dos, la frontera entre las bases cae exactamente cada cuatro dígitos binarios, así que la conversión es una reagrupación y no un cálculo. No se multiplica nada, no se suma nada y no se lleva nada: los dígitos se cortan en cuatros y cada grupo se busca en la tabla. Esa es la razón de que se use hexadecimal y no otra notación compacta, y es también por lo que la agrupación se imprime al lado de la respuesta: la agrupación es el método, mostrado en lugar de descrito.
¿Por qué un dígito hexadecimal son cuatro bits y no tres o cinco?
Porque cuatro bits pueden tomar exactamente dieciséis valores distintos y un dígito hexadecimal tiene exactamente dieciséis símbolos distintos. Tres bits darían solo ocho valores, que es la razón de que el octal se empareje con tres, y cinco bits darían treinta y dos, que ninguna base habitual usa. La coincidencia tiene que ser exacta para que la reagrupación funcione sin ningún acarreo, y solo las potencias de dos la dan. Es también la razón de que un byte, al ser ocho bits, sean siempre exactamente dos dígitos hexadecimales.
¿Cuál es el número binario más largo que puedo convertir?
Cincuenta y tres dígitos, que en decimal son 9.007.199.254.740.991 y tras la conversión son catorce dígitos hexadecimales. El techo es una propiedad de cómo guardan las máquinas los números exactos y no una regla que haya elegido esta página: por encima de esa anchura los enteros vecinos dejan de ser distinguibles, así que una entrada más larga no se podría convertir fielmente. Se rechaza con un mensaje en lugar de redondearse, lo cual importa porque una respuesta redondeada aquí parecería un valor hexadecimal perfectamente corriente.
¿Puedo convertir un número binario fraccionario?
En esta página no. No se acepta punto binario ni se produce fracción hexadecimal, porque una conversión fraccionaria necesita una decisión añadida sobre cuántas posiciones conservar y cómo redondear la última. Todas las páginas de este grupo trabajan con números enteros, así que una misma entrada nunca se acepta en un sitio y se rechaza en otro. Dentro de esa frontera la conversión es exacta: cualquier número binario entero hasta el límite de longitud corresponde a un único valor hexadecimal, sin ningún redondeo por medio.
¿Importan las mayúsculas en la respuesta?
La respuesta se imprime siempre en mayúsculas —B2 y no b2—, pero las dos formas son el mismo valor y ambas se entienden en todas partes. La documentación, los desensambladores y las hojas de datos usan mayúsculas casi siempre, mientras que los valores de color de CSS se escriben por convención en minúsculas, así que quien venga de cualquiera de los dos lados reconocerá lo que ve. Esta página imprime en mayúsculas por coherencia con el resto de la familia y porque esa es la convención del material junto al que se suele usar.

Referencias

Calculadoras relacionadas