0x
Conversor Hexadecimal a Decimal

Conversor Hexadecimal a Decimal

Nivel M • Banco dual

Convierte hexadecimal a decimal con complemento a dos con signo, precisión BigInt de 64 bits, flotantes IEEE 754, orden de bytes endianness y desglose matemático paso a paso.

Preajustes:

Panel de control y arquitectura de registros

Normalizado: FFFFFFFE4 bytes (32 bits)
Secuencia de bytes en memoria:MSB → LSB
FFFFFFFE
Analizador de cliente listoRFC 791 / IEEE 754-2019
Magnitud de bits en tiempo real y espectro de bytesBits activos: 32 / 32
Decimal con signo (complemento a dos)
-2
Entero sin signo
4,294,967,294
Complemento a dos con signo
-2
Flujo binario de bits (base 2)
1111 1111 1111 1111 1111 1111 1111 1110
Octal (base 8)
0o37777777776
Caracteres ASCII / UTF-8
"····"
Sin deriva de coma flotanteBigInt y Decimal.js
Magnitud decimal
4,294,967,294
Ancho de registro de hardware
32-bit (4 bytes)
Arquitectura de memoria
BE (Red)

Procesamiento en el cliente

Cálculo de alto rendimiento ejecutado íntegramente en la memoria del navegador.

Privacidad sin envío al servidor

Todos los datos permanecen estrictamente locales sin comunicación con servidores externos.

Exportación lista para producción

Formatos de salida limpios y optimizados listos para su integración inmediata.

Referencia técnica y guía de arquitectura

Conversor Hexadecimal a Decimal & Guía — Guía de referencia

Convierte hexadecimal a decimal con complemento a dos con signo, precisión BigInt de 64 bits, coma flotante IEEE 754, orden endianness y cálculo paso a paso.

Conversor Hexadecimal a Decimal & Guía — Guía de referencia — Arquitectura en memoria del lado del cliente y flujo de datos
Conversor Hexadecimal a Decimal & Guía — Guía de referencia — Arquitectura en memoria del lado del cliente y flujo de datos

Parámetros clave y controles

Entrada hexadecimal (hexInput)string (hexadecimal: 0-9, a-f, A-F, prefijos opcionales 0x, #, h)

Cadena o flujo hexadecimal en bruto a convertir. Admite longitud arbitraria, valores fraccionarios con separador de punto y matrices delimitadas de múltiples bytes.

Por defecto: "0xFF"
Tamaño de palabra (wordSize)"auto" | "8-bit" | "16-bit" | "32-bit" | "64-bit" | "arbitrary"

Especifica la restricción del ancho en bits del registro del procesador para la interpretación en complemento a dos con signo y los límites de desbordamiento.

Por defecto: "auto"
Orden de bytes (endianness)"big-endian" | "little-endian"

Arquitectura de secuenciación de bytes en memoria. Big-endian sitúa el byte más significativo en la dirección más baja; little-endian (habitual en x86 y ARM) invierte el orden.

Por defecto: "big-endian"
Con signo (isSigned)boolean

Determina si el bit más significativo (MSB) actúa como indicador de signo negativo mediante aritmética de complemento a dos o representa magnitud positiva.

Por defecto: false

Consejos profesionales y mejores prácticas

Evitar el truncamiento de precisión de 53 bits en JavaScript

La función estándar parseInt(hex, 16) de JavaScript convierte valores a números en coma flotante de doble precisión, corrompiendo silenciosamente enteros hexadecimales de más de 15 dígitos (superiores a 0x1FFFFFFFFFFFFF o 9.007.199.254.740.991). Utilice siempre BigInt('0x' + hex) de precisión arbitraria para punteros de 64 bits, hashes criptográficos e identificadores snowflake de bases de datos.

Extensión de signo en la conversión a complemento a dos

Al decodificar valores hexadecimales negativos con signo (como 0xFE en 8 bits), el bit de signo debe extenderse si se realiza una conversión a tipos de mayor tamaño. En 8 bits, 0xFE equivale a -2; en 16 bits sin extensión de signo (0x00FE), se evalúa como 254 positivo. Asegúrese de que el tamaño de palabra coincida con la arquitectura de destino.

Gestión del orden de bytes de red frente al de host

Los protocolos de red (cabeceras TCP/IP y Ethernet) transmiten datos estrictamente en Big-Endian (orden de bytes de red), mientras que los procesadores x86 y ARM procesan enteros en Little-Endian. Si la captura de paquetes muestra 0x0004 (puerto 1024 en little-endian), alterne el modo Endianness para analizar el valor real en el host.

Problemas comunes y soluciones

⚠️Los valores hexadecimales negativos devuelven números positivos elevados en lugar de enteros negativos (ej. 0xFF genera 255 en vez de -1)

Active el modo Complemento a dos con signo y configure el Tamaño de palabra correspondiente al ancho de datos (8 bits para 2 dígitos hex, 16 bits para 4 dígitos y 32 bits para 8 dígitos). Sin definir este límite de bits, el conversor procesará el número como un entero sin signo.

⚠️Una cadena hexadecimal con número impar de caracteres genera discrepancias al activar el modo Little-Endian

La inversión de bytes en Little-Endian requiere pares completos de dos caracteres hexadecimales (octetos). Si introduce una cantidad impar de dígitos (ej. '123'), anteponga un cero inicial ('0123') para alinear con precisión los límites de byte antes de permutar los octetos.

Preguntas frecuentes (FAQ)

¿Cómo se calcula manualmente la conversión de hexadecimal a decimal?▼

Para convertir hexadecimal a decimal a mano, multiplique cada dígito hexadecimal por 16 elevado a la potencia correspondiente a su posición (de derecha a izquierda, comenzando en 0) y sume los resultados. Por ejemplo, en 0x2E: multiplique E (14) por 16^0 (14 * 1 = 14), luego multiplique 2 por 16^1 (2 * 16 = 32) y súmelos: 32 + 14 = 46.

¿Cómo funciona la conversión hexadecimal en complemento a dos con signo?▼

En la representación en complemento a dos con signo, el bit más significativo (MSB) indica el signo. Para un entero de N bits (ej. 8 bits, 16 bits o 32 bits), si el valor hexadecimal es mayor o igual a 2^(N-1), el número es negativo. Su valor decimal equivale al valor sin signo menos 2^N. Por ejemplo, en 8 bits: 0xFF corresponde a 255 - 256 = -1.

¿Cuál es la diferencia entre hexadecimal en big-endian y little-endian?▼

El orden endianness define la disposición secuencial de los bytes en memoria. En Big-Endian (orden de bytes de red), el byte más significativo (MSB) se almacena en la dirección de memoria más baja (ej. 0x12345678 se guarda como 12 34 56 78). En Little-Endian (empleado en procesadores x86-64 y ARM), el byte menos significativo (LSB) se guarda primero (78 56 34 12).

¿Cómo se convierte un valor hexadecimal de 32 bits a decimal en coma flotante IEEE 754?▼

Para convertir un valor hexadecimal de 32 bits (como 0x40490FDB) a coma flotante IEEE 754, descompóngalo en 32 bits binarios: el bit 31 es el bit de signo S (0 = positivo), los bits 30-23 son el exponente con sesgo E (128 - 127 = 1) y los bits 22-0 representan la mantisa fraccionaria M (~0,5707963). El resultado decimal es (-1)^S * (1 + M) * 2^E = 1 * 1,5707963 * 2^1 ≈ 3,14159265.

¿Por qué las conversiones hexadecimales pierden precisión a partir de 15 dígitos en JavaScript?▼

Los números estándar de JavaScript utilizan valores en coma flotante de doble precisión IEEE 754, que solo ofrecen 53 bits de precisión en la mantisa (Number.MAX_SAFE_INTEGER = 2^53 - 1 = 9.007.199.254.740.991, o 0x1FFFFFFFFFFFFF). Los enteros hexadecimales con más de 15 dígitos sufren errores silenciosos de redondeo a menos que se procesen mediante BigInt de precisión arbitraria.

Herramientas y utilidades relacionadas

Todas las herramientas →