Saltar al contenido principal
CalcMax

Conversor de decimal a hexadecimal

Resultado

2A3F

Hexadecimal

Valores posicionales
2×4096 + 10×256 + 3×16 + 15

Este conversor de decimal a hexadecimal reescribe un número entero de base diez a base dieciséis. El método es la misma división repetida que produce el binario, con dieciséis en lugar de dos: divide el número entre dieciséis, quédate con el resto, divide el cociente entre dieciséis y sigue hasta que el cociente llegue a cero. Lo que cambia es el alfabeto. Dividir entre dos solo puede dejar 0 o 1, pero dividir entre dieciséis puede dejar cualquier valor de 0 a 15, y la base dieciséis escribe esos valores del diez al quince con las letras de la A a la F: A para 10, B para 11, y así hasta F para 15. Por eso los restos no salen ya como dígitos hexadecimales, sino como números, y todo resto por encima de 9 tiene que escribirse con su letra antes de que la respuesta esté terminada. Con 10815 ocurre esto: 10815 ÷ 16 es 675 y sobran 15, luego 675 ÷ 16 es 42 y sobran 3, luego 42 ÷ 16 es 2 y sobran 10, y por último 2 ÷ 16 es 0 y sobran 2. Leídos de abajo arriba los restos son 2, 10, 3, 15, que se convierten en 2, A, 3, F, así que 10815 es 2A3F en hexadecimal. Las letras son el asunto entero de esta página. La suma de valores posicionales impresa junto a la respuesta muestra el mismo número desde el otro extremo: en base dieciséis las posiciones valen 4096, 256, 16 y 1, y 2A3F es 2×4096 más 10×256 más 3×16 más 15, que vuelve a sumar 10815. La base dieciséis se usa porque un dígito hexadecimal son exactamente cuatro dígitos binarios, así que un byte son siempre dos caracteres y un valor de treinta y dos bits son siempre ocho, y esa es la razón de que los códigos de color, las direcciones de memoria y los hashes se escriban así.

Dividir 10815 entre dieciséis, una vuelta por línea, hasta que el cociente llega a cero

VueltaDivisiónCocienteResto
110815 ÷ 1667515 (F)
2675 ÷ 16423
342 ÷ 16210 (A)
42 ÷ 1602

Dos de los cuatro restos de esta escalera están escritos como un número seguido de su letra entre paréntesis —15 (F) y 10 (A)—, y esa forma doble es la razón de que la tabla exista. La aritmética te da 15; la respuesta necesita F. Quien divide bien y luego copia la columna del resto tal como está escribe 2103 en lugar de 2A3F, que es el único error al que invita esta conversión. Lee la columna de abajo arriba y los caracteres de la respuesta aparecen en orden: 2, 10, 3, 15, que es 2A3F una vez sustituidos los dos valores por encima de nueve. La tabla está fijada en 10815 mientras el panel de arriba convierte lo que hayas tecleado, porque muestra el método y no un resultado. El cociente cae en cada vuelta por un factor de unos dieciséis, así que la escalera del mayor número admitido tiene solo catorce líneas, que es exactamente la longitud del techo hexadecimal, 1FFFFFFFFFFFFF.

Fórmula

10815 ÷ 16 = 675 r 15 → 675 ÷ 16 = 42 r 3 → 42 ÷ 16 = 2 r 10 → 2 ÷ 16 = 0 r 2 ⇒ 10815 = 2A3F = 2×4096 + 10×256 + 3×16 + 15

10815
El número entero que hay que convertir, escrito en base diez. Un punto decimal o un separador de millares se rechazan en lugar de redondearse, así que escribe 10815 y no 10.815
÷ 16
El paso que se repite, con dieciséis en lugar del dos que usa la versión binaria de esta página. Dieciséis es la base a la que estás convirtiendo, así que cada vuelta pregunta cuántos dieciseises caben y qué sobra
cociente
La parte que pasa a la vuelta siguiente. El proceso se detiene cuando el cociente llega a cero, lo que significa que no hace falta ninguna posición más alta en la respuesta
resto
El dígito que produce esa vuelta, y aquí puede ser cualquier cosa de 0 a 15 en lugar de solo 0 o 1. Borrar esa diferencia es la manera más común de hacer mal esta conversión: el resto 15 no es el dígito 15, porque la base dieciséis no tiene un carácter suelto para él
A — F
Las letras que representan los valores del diez al quince, con A como 10, B como 11, C como 12, D como 13, E como 14 y F como 15. No son una notación aparte que aprender: cada una es simplemente el número que no se podía escribir con un solo carácter decimal
⇒ 2A3F
Los dígitos montados de abajo arriba, con todo resto por encima de 9 ya convertido en su letra. El primer resto que se encuentra es el carácter de la derecha, así que leer las vueltas en el orden en que se escribieron da la respuesta invertida
2×4096 + 10×256 + 3×16 + 15
La respuesta leída como valores posicionales. A diferencia del binario, los coeficientes no son todos unos: esta es la comprobación que caza una letra convertida al número equivocado, porque una A mal puesta cambiaría la suma

El hexadecimal es la taquigrafía que leen los ingenieros, así que esta conversión aparece siempre que un valor tiene que moverse entre las dos bases. Los códigos de color son el caso cotidiano: un canal que va de 0 a 255 son dos caracteres hexadecimales, y por eso un color se escribe con seis y por eso el 10815 de un diseñador y el 2A3F de un programador son el mismo color. Las direcciones de memoria, las sumas de verificación, los hashes y los valores de registro de una hoja de datos se imprimen todos en base dieciséis por la misma razón: cuatro bits por carácter, así que la anchura de un valor se lee de un vistazo. Quien lee un trazado de pila o un volcado de paquetes hace esta conversión en la dirección contraria decenas de veces por hora, y quien escribe una máscara o un número mágico la hace en esta. En un curso se pide directamente, casi siempre como convierte un número de decimal a hexadecimal y muestra el desarrollo, que es lo que es la escalera de abajo: una línea por división, con las letras ya sustituidas. Para pasar de decimal a hexadecimal a mano es también el paso que deja a la vista la anchura de un valor, porque dos caracteres son un byte y ocho son una palabra de treinta y dos bits, así que la conversión responde cuántos caracteres va a ocupar un valor en el formato al que va destinado.

Ejemplos resueltos

  1. Escribir 10815 en hexadecimal

    1. 10815 ÷ 16 = 675, resto 15 — apunta 15, que es F
    2. 675 ÷ 16 = 42, resto 3
    3. 42 ÷ 16 = 2, resto 10 — que es A
    4. 2 ÷ 16 = 0, resto 2 — el cociente ha llegado a cero, así que se para
    5. Lee los restos de abajo arriba: 2, 10, 3, 15
    6. Sustituye 10 por A y 15 por F: la respuesta es 2A3F

    El valor por defecto, y el ejemplo que muestra las dos sustituciones. Conviene notar que dos de los cuatro restos necesitan letra, lo cual es lo típico y no una casualidad desafortunada: un resto por encima de 9 aparece unas seis veces de cada dieciséis, y una respuesta de tres o cuatro caracteres casi siempre contendrá al menos uno.

  2. Un byte completo, 255

    1. 255 ÷ 16 = 15, resto 15 — escríbelo como F
    2. 15 ÷ 16 = 0, resto 15 — escríbelo como F
    3. El cociente ha llegado a cero, así que lee los dos restos de abajo arriba: FF

    Dos caracteres para el valor más grande que puede guardar un solo byte, que es exactamente la razón de que el hexadecimal exista. El par FF y 255 merece memorizarse: es el techo de un canal de color, de un byte sin signo en la mayoría de los lenguajes y de un carácter de datos en bruto.

  3. Una potencia de dieciséis, 1048576

    1. 1048576 ÷ 16 = 65536, resto 0
    2. 65536 ÷ 16 = 4096, resto 0
    3. 4096 ÷ 16 = 256, resto 0
    4. 256 ÷ 16 = 16, resto 0
    5. 16 ÷ 16 = 1, resto 0
    6. 1 ÷ 16 = 0, resto 1 — leído de abajo arriba da 100000

    El eco hexadecimal del ejemplo de la potencia de dos de la página binaria: una potencia de la base sale como un único 1 seguido de ceros. 1048576 es 16⁵ y también 2²⁰, que es justo el punto de la notación: el mismo valor es 100000000000000000000 en binario y 100000 en hexadecimal, y el segundo se puede leer.

  4. Un número negativo

    1. El signo menos se arrastra, no se convierte: los dígitos se calculan para 10815 como en el primer ejemplo
    2. 10815 ÷ 16 = 675 con resto 15, y así hasta 0 con resto 2
    3. Los dígitos leídos de abajo arriba son 2, A, 3, F
    4. El signo se pone delante: -2A3F

    Un signo menos delante se acepta y se imprime en la parte de delante, y la suma de valores posicionales va entre paréntesis para que el menos se aplique al conjunto y no a su primer término. Conviene notar lo que esto no es: es una lectura con signo de una magnitud, no el patrón de bits en complemento a dos que guardaría una máquina. Si lo que necesitas es el contenido de un registro para un valor negativo en lugar de su notación con signo, esa es otra pregunta y otra página.

Limitaciones

Esta página convierte solo números enteros, así que un punto decimal se rechaza en lugar de redondearse: 10815,5 no se puede convertir aquí. Los separadores de millares también se rechazan: escribe 10815 y no 10.815, porque una coma es un punto decimal en algunos idiomas y adivinar entre las dos lecturas es peor que pedirlo con claridad. La entrada puede ser como máximo 9.007.199.254.740.991, que son catorce caracteres hexadecimales, y su forma hexadecimal es 1FFFFFFFFFFFFF: el mismo techo que en las páginas binarias aparece como cincuenta y tres dígitos, porque es un solo límite escrito en dos bases. Los ceros a la izquierda y un signo menos delante se aceptan; el menos produce una lectura con signo de la magnitud, no un patrón de bits en complemento a dos. La tabla de abajo imprime la escalera de 10815 y no sigue al número que hayas tecleado. La conversión en la dirección contraria, de hexadecimal a decimal, es otra página, y esta no hace ninguna aritmética sobre el resultado.

Preguntas frecuentes

¿Cómo paso un número decimal a hexadecimal a mano?
Divide entre dieciséis, apunta el resto, divide el cociente entre dieciséis y repite hasta que el cociente sea cero. Lee los restos de abajo arriba y sustituye todo resto por encima de 9 por su letra: 10 es A, 11 es B, 12 es C, 13 es D, 14 es E y 15 es F. Para 10815 los restos salen 15, 3, 10, 2 de arriba abajo, que leídos al revés y sustituidos dan 2A3F.
¿Por qué se usan letras en hexadecimal?
Porque la base dieciséis necesita dieciséis caracteres sueltos y las cifras decimales solo aportan diez. Los seis símbolos que faltan tienen que venir de algún sitio, y las letras son la convención en la que coinciden todos los sistemas. A es diez y F es quince, así que los dígitos del sistema van de 0 a 9 y luego de la A a la F. Esto no es algo extra que memorizar por encima de la conversión: una letra es siempre el nombre de un resto que no cabía en un solo carácter decimal.
¿Cuál es el número decimal más grande que puedo convertir aquí?
9.007.199.254.740.991, que en hexadecimal es 1FFFFFFFFFFFFF, catorce caracteres. El límite viene del mismo sitio que el límite de cincuenta y tres dígitos de las páginas binarias, porque es el mismo número expresado en dos bases. Cualquier valor mayor se rechaza con un mensaje en lugar de convertirse, ya que más allá de esa anchura una máquina no puede mantener separados los enteros vecinos y una respuesta convertida no sería fiable.
¿Es el hexadecimal lo mismo que el binario, solo que más corto?
Es el mismo valor escrito en una base que es potencia de dos, y por eso los dos se mueven tan fácilmente de uno a otro. Cada carácter hexadecimal son exactamente cuatro dígitos binarios, así que 2A3F es 0010 1010 0011 1111 sin que sobre nada. No es una casualidad de este ejemplo: vale para cualquier número hexadecimal, y es la razón de que se use. En el cambio no se pierde nada ni hay que redondear nada.
¿Puedo convertir un número decimal con parte fraccionaria?
Aquí no. Esta página toma números enteros, así que 10815,5 se rechaza en lugar de redondearse. Las fracciones en base dieciséis están perfectamente definidas —las posiciones a la derecha del punto valen un dieciseisavo, un doscientos cincuenta y seisavo, y así—, pero aceptarlas obligaría a decidir cuántos caracteres conservar y cómo redondear el último, y todas las páginas de este grupo convierten números enteros.
¿Por qué la página imprime también una suma de valores posicionales?
Porque es la comprobación que caza el error de sustitución. Si has convertido el resto 15 en la letra equivocada, o has usado una A donde hacía falta una F, la suma impresa no volverá a dar el número con el que empezaste: 2×4096 + 10×256 + 3×16 + 15 es 10815 solo cuando las letras se han leído bien. A diferencia de la versión binaria de esta suma, los coeficientes no son todos unos, así que cada carácter de la respuesta queda justificado por separado.

Referencias

Calculadoras relacionadas