Saltar al contenido principal
CalcMax

Calculadora hexadecimal

Resultado

2A5A

Hexadecimal

Decimal
10.842
Binario
10101001011010
Resto
0

Esta calculadora hexadecimal suma, resta, multiplica y divide números escritos en base dieciséis, y da la respuesta en hexadecimal, en decimal y en binario. La base dieciséis necesita dieciséis formas de dígito donde el decimal tiene diez, así que las seis que faltan se toman del alfabeto y las letras de la A a la F representan del diez al quince. Eso es toda la notación: la A no es un código ni una abreviatura, es el dígito que viene después del 9. Las cuatro operaciones son las de siempre: la suma, la resta, la multiplicación y la división van columna a columna exactamente igual que en decimal, con dieciséis como base en lugar de diez, así que una columna se lleva cuando pasa de la F y no cuando pasa del 9. La respuesta se da tres veces porque las tres lecturas sirven a lectores distintos: el hexadecimal es la forma en la que el valor se escribe habitualmente, el decimal es el que casi todo el mundo puede comprobar a ojo, y el binario son los bits que hay debajo, que es de donde salieron los dígitos hexadecimales. La división es entera, así que el resto ocupa una fila propia en lugar de desaparecer en un punto decimal.

Fórmula

2A3F + 1B = 2A5A (10815 + 27 = 10842)

2A3F
El primer número, escrito en base dieciséis. Las letras son dígitos: A es diez, B es once, y así hasta F para quince. Leer la A como cualquier otra cosa es el error que esta página existe para evitar
+ − × ÷
La operación. Va columna a columna exactamente como la aritmética decimal, con dieciséis como base en lugar de diez, así que una columna se lleva una vez que pasa de la F
F + 1 = 10
La regla del acarreo en esta base: quince más uno se queda sin dígitos y abre una columna nueva. Es el mismo suceso que 9 + 1 = 10 en decimal, una base más allá
suma de dígito × 16ⁿ
Cómo se obtiene la lectura decimal: cada dígito multiplicado por el valor de su posición y los resultados sumados. Así sale que 2A3F es 10815: 8192 más 2560 más 48 más 15
4 bits por dígito
Por qué se usa esta base. Un dígito hexadecimal contiene exactamente cuatro dígitos binarios, así que un byte son exactamente dos de ellos y no hace falta ninguna aritmética para moverse entre las dos notaciones, solo reagrupar
resto
Lo que queda cuando una división no sale exacta. La fila está siempre presente y marca 0 en las tres operaciones que no pueden dejarlo: un cero ahí significa que la operación no dejó nada, no que la fila se haya quedado sin rellenar
53 bits
El ancho de entrada que acepta esta página: hasta 9.007.199.254.740.991, que aquí es 1FFFFFFFFFFFFF, catorce dígitos. Más allá de esa anchura un número de máquina ya no distingue a sus vecinos y la aritmética dejaría de ser exacta sin avisar

El hexadecimal es el aspecto que tiene el binario cuando lo tiene que leer una persona. Allí donde un valor tenga dieciséis bits o más —una dirección de memoria, un color, un hash, un listado de código máquina, un volcado de registro de dispositivo, la captura de un paquete de red— se imprime en esta base, y hacer cuentas con esos valores es tarea diaria para quien trabaja a ese nivel. Sumar un desplazamiento a un puntero, calcular el tamaño de una estructura, obtener una suma de verificación, recorrer un rango de direcciones mientras se depura o comprobar qué bits activa una máscara son todas operaciones que se hacen sobre números hexadecimales, y la lectura binaria que acompaña a la respuesta es lo que devuelve el resultado a las banderas y los campos que representa. Los diseñadores y quien trabaja en el front-end se lo encuentran en los valores de color, donde un par de dos dígitos por canal es exactamente el byte que la pantalla quiere. La página también se usa al revés: un valor que se conoce en decimal se convierte a hexadecimal para compararlo con una especificación o pegarlo en otra herramienta, y la lectura binaria responde a la pregunta de qué bits están activos de verdad. Quien estudia las bases numéricas obtiene el mismo provecho, porque las letras son la parte que parece arbitraria hasta que se ponen en fila los valores posicionales.

Ejemplos resueltos

  1. Sumar 2A3F y 1B

    1. Alinea los dos números por la derecha: 2A3F y 001B
    2. Columna de la derecha: F + B, que es 15 + 11 = 26 = 16 + 10, así que se escribe A y se lleva 1
    3. Columna siguiente: 3 + 1 + el 1 que se lleva = 5, así que se escribe 5
    4. Columna siguiente: A + 0 = A, así que se escribe A
    5. Columna de la izquierda: 2 + 0 = 2, así que se escribe 2
    6. El resultado se lee 2A5A, que en decimal es 10842

    El ejemplo de apertura, y el que muestra un acarreo que cruza la frontera de las letras: F más B son veintiséis, que es un dieciséis y diez de sobra, así que el dígito que se apunta es A y no un número de dos cifras. La lectura binaria son los mismos bits reagrupados de cuatro en cuatro, lo que sirve de comprobación del conjunto.

  2. Dividir 2A3F entre 1B

    1. Esto es 10815 dividido entre 27
    2. 27 cabe en 10815 cuatrocientas veces exactas, y sobran 15
    3. Cuatrocientos es 190 en hexadecimal, y el resto quince es F
    4. La página informa de 190 con un resto de F

    Aquí el resto es F, que es quince: un valor que necesita letra aunque sea menor que el divisor. Es también el ejemplo que justifica que la fila del resto esté siempre: sin ella la respuesta diría 190, y cuatrocientas veces 27 son 10800, no 10815.

  3. La misma suma en minúsculas

    1. Las letras en minúscula y en mayúscula son los mismos dígitos: la a es diez exactamente igual que la A
    2. La aritmética no cambia, así que la respuesta es la misma 2A5A
    3. La página imprime su respuesta en mayúsculas sin importar cómo se haya tecleado la entrada

    Merece la pena saberlo porque las dos convenciones están en uso diario —los valores de color de CSS se escriben casi siempre en minúsculas, mientras que los desensambladores y las hojas de datos usan mayúsculas— y ninguna es incorrecta. Solo se normaliza la respuesta impresa, y se normaliza hacia arriba.

Limitaciones

Esta página trabaja solo con números hexadecimales enteros. No hay punto hexadecimal ni entrada fraccionaria, así que 2A.8 no se acepta; una división que no salga exacta da un cociente truncado más un resto en lugar de una respuesta fraccionaria. Las entradas están limitadas a 1FFFFFFFFFFFFF, que es 9.007.199.254.740.991 —la anchura a la que un número de máquina deja de distinguir a sus vecinos—, y los resultados tienen el mismo techo, así que un desbordamiento se informa en lugar de responderse de forma aproximada. Los resultados negativos llevan un signo menos delante en lugar de escribirse en complemento a dos, y no se supone ninguna anchura fija: 1B son dos dígitos aquí, no el byte bajo de nada. El campo de entrada no admite separador de millares, así que ese tope se teclea sin puntos: 9007199254740991. Las minúsculas se aceptan y las respuestas se imprimen en mayúsculas. La división entre cero se rechaza. La página hace aritmética y conversión en tres bases; no hace operaciones a nivel de bit, y aquí no hay AND, ni OR, ni XOR, ni desplazamiento de bits.

Preguntas frecuentes

¿Qué significan las letras?
Son dígitos. La base dieciséis necesita dieciséis formas de dígito distintas y en el juego conocido solo hay diez, así que las letras de la A a la F representan del diez al quince: A es diez y F es quince. La elección de letras no codifica nada; son simplemente los caracteres que siguen en el alfabeto, y cualquier conjunto de dieciséis símbolos distintos haría el mismo papel. Mayúscula y minúscula son exactamente el mismo dígito aquí.
¿Por qué 1 + 1 no se lleva aquí y en binario sí?
Porque la base es distinta, así que la columna se acaba en otro punto. En base dos no hay dígito para el dos, así que dos unos se llevan de inmediato. En base dieciséis hay dígitos hasta el quince, así que una columna solo se lleva cuando la suma pasa de la F. Dos más dos son cuatro en cualquier base; lo único que cambia son los símbolos con los que se cuenta.
¿Importan las mayúsculas de lo que escribo?
No. 2a3f y 2A3F son el mismo número y se aceptan los dos, porque las letras son dígitos y un dígito no distingue mayúsculas. Las respuestas se imprimen en mayúsculas en cualquier caso. Las dos convenciones están en uso diario —los valores de color de CSS suelen escribirse en minúsculas, mientras que los desensambladores y las hojas de datos usan mayúsculas—, así que aceptar ambas no cuesta nada y rechazar cualquiera de las dos sería arbitrario.
¿Cuál es el número más grande que puedo escribir?
1FFFFFFFFFFFFF, que son catorce dígitos hexadecimales y 9.007.199.254.740.991 en decimal: un uno seguido de cincuenta y tres unos en binario. El campo de entrada solo admite dígitos hexadecimales, sin separador de millares, así que en la casilla decimal ese tope se teclea 9007199254740991. Más allá de esa anchura una máquina ya no puede distinguir enteros vecinos, así que la aritmética dejaría de ser exacta sin avisar: la respuesta parecería un número sin serlo. Las entradas más anchas se rechazan en lugar de truncarse, y un resultado que desborde ese mismo techo también.
¿Es lo mismo que un conversor de bases?
Es la mitad aritmética de uno. Esta página toma dos números y una operación; las páginas que convierten un solo valor entre bases son distintas y están enlazadas desde aquí. Reunirlo todo en una sola página con un desplegable de base de entrada y otro de salida sería otro diseño, y se perdería la capacidad de comprobar la forma de lo que se teclea: una página que acepta cualquier base no puede decirte que 2G no es un número en la base que has elegido.
¿Por qué hay siempre una fila de resto?
Porque el panel de resultados es un conjunto fijo de filas y no una lista que cambia de forma según la operación, y una fila que apareciera y desapareciera se leería peor que una que está siempre en el mismo sitio. Sumar, restar y multiplicar números enteros no pueden dejar resto, así que ahí pone 0, y ese cero es la respuesta honesta y no un relleno. En la división es lo que impide que un cociente truncado parezca una respuesta exacta.

Referencias

Calculadoras relacionadas