Convertidor IEEE 754

Este convertidor IEEE 754 transforma un número decimal en el patrón de 16, 32 o 64 bits y muestra signo, exponente, mantisa, el valor exacto almacenado y el error de redondeo. También admite hexadecimal y bits.

Fuente: Wikipedia – IEEE 754 (Formate, Bias, subnormale Zahlen, Sonderwerte). Actualizado: .

Mi caja de herramientasTus datos se guardan solo en este navegador.

Resultado

Resultado
0x3DCCCCCD · 0 01111011 10011001100110011001101
Estructura de los bits
ParteBitsSignificado
Signo0+
Exponente (8 bit)01111011123 − 127 = -4
Mantisa (23 bit)100110011001100110011011.10011001100110011001101
Valor almacenado
MagnitudValor
Hexadecimal0x3DCCCCCD
Tiponúmero normal
Valor exacto almacenado0.100000001490116119384765625
Diferencia respecto a la entrada+1.490e-9
Predecesor0.0999999940395355224609375
Sucesor0.10000000894069671630859375
Se redondea al número representable más cercano y, en caso de empate, a la mantisa par. Predecesor y sucesor muestran la separación entre dos flotantes vecinos. Con 32 bits: valor = (−1)^s · 2^(e − sesgo) · (1 + m/2^p).

Cómo se calcula

Un número en coma flotante consta de un signo s, un exponente e y una mantisa m: valor = (−1)^s · 2^(e − sesgo) · 1,m. El decimal 0,1 pasa a ser 0x3DCCCCCD como float y se almacena como 0,100000001490116119384765625.

Los tres formatos

Por qué 0,1 no es exacto

Los números en coma flotante almacenan potencias de dos, pero 0,1 es una fracción periódica en binario. Por eso se redondea, y 0,1 + 0,2 da 0,30000000000000004. El convertidor muestra el valor decimal exacto almacenado y el error de redondeo.

Valores especiales

Si todos los bits del exponente valen 1, el número es infinito (mantisa 0) o NaN (mantisa distinta de 0). Si todos valen 0, el número es cero o subnormal, almacenado sin el uno inicial.

Preguntas frecuentes

¿Cómo se convierte un número decimal a IEEE 754?

Se descompone en signo, exponente en base 2 y mantisa, y se almacenan en 8 + 23 bits (float) u 11 + 52 bits (double). El convertidor lo hace y muestra hexadecimal y bits.

¿Por qué 0,1 como float no es exactamente 0,1?

0,1 es una fracción infinita en binario y hay que redondearlo. Como float da 0,100000001490116… y como double 0,1000000000000000055….

¿Qué significan los bits de un float?

El primer bit es el signo, los 8 siguientes el exponente con sesgo 127 y los últimos 23 la mantisa sin el uno inicial.

Fuentes y base legal

Última actualización: · Principios editoriales

Herramientas relacionadas