¿Qué es el conversor de coma flotante IEEE 754?
Esta herramienta descodifica un valor hexadecimal de 32 bits para mostrarte el número real que representa según el estándar IEEE 754 de precisión simple, el formato que utiliza el tipo float en C, Java y la mayoría del hardware actual. Introduce ocho dígitos hexadecimales y la calculadora los separa en los tres campos que componen un float: 1 bit de signo, 8 bits de exponente y 23 bits de mantisa (fracción), y luego los recompone en un valor decimal.
Cómo usarlo
Escribe el valor de 32 bits en hexadecimal (por ejemplo, 40490FDB). El prefijo «0x» es opcional y cualquier carácter que no sea hexadecimal se ignora. Si introduces menos de 8 dígitos, se rellenan con ceros por la izquierda. El resultado muestra el valor decimal junto con el signo descodificado, el exponente almacenado, el exponente sin sesgo y la mantisa, para que puedas comprobar tú mismo la distribución de los bits.
La fórmula explicada
Para los números normales, el valor es $$\text{Valor} = (-1)^{s} \times \left(1 + \frac{m}{2^{23}}\right) \times 2^{(e-127)}$$ El 127 es el sesgo del exponente en precisión simple. El «1 +» refleja el bit inicial implícito que siempre tienen los números binarios normalizados. Cuando el exponente almacenado e vale 0, el número es subnormal: el 1 inicial implícito desaparece y el exponente se fija en -126. Cuando e vale 255, el valor es infinito (mantisa 0) o NaN.
Ejemplo resuelto
Tomemos 40490FDB. En binario, el signo es 0 (positivo) y el campo de exponente es 10000000 = 128, por lo que el exponente sin sesgo es \(128 - 127 = 1\). Los bits de la mantisa equivalen a 4788187, lo que da una fracción de \(4788187/8388608 \approx 0{,}5707964\). El valor es $$(1 + 0{,}5707964) \times 2^{1} \approx 3{,}14159274,$$ la aproximación más cercana a π en precisión simple.
Preguntas frecuentes
¿Por qué el resultado no es exactamente el número que esperaba? La precisión simple solo ofrece unos 7 dígitos decimales de precisión, así que muchos valores decimales se redondean al float representable más próximo.
¿Y la doble precisión (64 bits)? Esta herramienta trabaja con precisión simple de 32 bits. Los double usan 11 bits de exponente, una mantisa de 52 bits y un sesgo de 1023.
¿Qué devuelve 7FC00000? Es un NaN (exponente todo unos y mantisa distinta de cero), que no representa un número finito.