Conversor de Coma Flotante IEEE 754
Convierte decimales a IEEE 754 de 32 y 64 bits y de vuelta, con los bits de signo, exponente y mantisa, hex, valor exacto almacenado y error de redondeo, todo en tu navegador.
El Conversor IEEE 754 funciona por completo en tu navegador usando APIs numéricas estándar. Los decimales, el hex y los patrones de bits que conviertes permanecen en tu dispositivo y nunca se suben a ArrayKit.
Abre el Conversor de Bases Numéricas
Acerca de Conversor IEEE 754
El Conversor IEEE 754 convierte un número decimal en su representación exacta de coma flotante de 32 bits (precisión simple) y 64 bits (precisión doble). Muestra el bit de signo, el exponente sesgado y la mantisa como campos de bits separados y codificados por color, además de la palabra hexadecimal, el valor exacto que los bits almacenan realmente y el error de redondeo entre lo que escribiste y lo que la máquina conserva. Como el binario no puede representar la mayoría de las fracciones decimales, valores como 0.1 se desvían una cantidad ínfima, y esta herramienta hace visible esa desviación. Trabaja también en el otro sentido: pega un patrón hex o una cadena de bits sin procesar y recupera el decimal que decodifica. Está pensado para desarrolladores que depuran la precisión de los floats, comparan float32 con float64 o inspeccionan Infinity, NaN y los denormales. Cada conversión se ejecuta localmente en tu navegador; los números que introduces nunca salen de tu dispositivo.
Características
- Convierte cualquier decimal a IEEE 754 de 32 bits (precisión simple) y 64 bits (precisión doble)
- Campos de bits de signo, exponente y mantisa codificados por color
- Muestra la palabra hex junto a la cadena de bits binaria completa
- Informa el valor exacto almacenado y el error de redondeo frente a tu entrada
- El modo inverso decodifica un patrón hex o una cadena de bits de vuelta a un decimal
- Maneja Infinity, NaN, el cero negativo y los números subnormales (denormales)
- Muestra el exponente sesgado y sin sesgo para que puedas leer la escala
- Funciona por completo en tu navegador: los números nunca salen de tu dispositivo
Cómo usar Conversor IEEE 754
- Mantén seleccionado Decimal → IEEE 754 y escribe un número como 0.1
- Elige 32 o 64 bits para ver los bits de precisión simple o doble
- Lee los campos de signo, exponente y mantisa, el hex y el error de redondeo
- Cambia a IEEE 754 → Decimal y pega un patrón hex o binario para decodificarlo de vuelta
Ejemplo
Entrada
0.1 (as float32)
Salida
hex: 0x3dcccccd
stored value: 0.10000000149011612
exact value: 0.100000001490116119384765625
rounding error: 1.4901161193847656e-9
0.1 no tiene una forma binaria exacta, así que float32 almacena un valor ligeramente mayor que 0.1.
Errores comunes y solución de problemas
- Dos números que deberían ser iguales se comparan como diferentes en el código. — El redondeo difiere en cada operación, así que compara los floats con una pequeña tolerancia (epsilon) en lugar de ==, o pasa a 64 bits para más precisión.
- Un valor hex pegado se decodifica inesperadamente como Infinity o NaN. — Un campo de exponente con todos unos significa Infinity (mantisa cero) o NaN (mantisa distinta de cero). Comprueba también el ancho: 8 dígitos hex para 32 bits, 16 para 64 bits.
- 0.1 + 0.2 no es igual a 0.3 en tu programa. — Cada valor se redondea primero al float binario más cercano, así que las sumas difieren. Convierte aquí 0.1, 0.2 y 0.3 para ver los valores exactos almacenados detrás de la discrepancia.
- Un número muy pequeño se etiqueta como 'subnormal'. — Por debajo del menor exponente normal, los floats descartan el 1 inicial implícito y usan la codificación subnormal (denormal), sacrificando precisión para acercarse más al cero.
Preguntas frecuentes
- ¿Por qué 0.1 no se almacena exactamente en IEEE 754?
- 0.1 es una fracción periódica en binario, igual que 1/3 lo es en decimal, así que no se puede escribir en un número finito de bits. El conversor lo redondea al valor representable más cercano y muestra el error de redondeo restante.
- ¿Cuál es la diferencia entre la coma flotante de 32 y de 64 bits?
- La de 32 bits (precisión simple / float) usa un exponente de 8 bits y una mantisa de 23 bits para unos 7 dígitos decimales de precisión. La de 64 bits (doble) usa 11 y 52 bits para unos 15–16 dígitos. Cambia la precisión para comparar el mismo número en ambas.
- ¿Cómo leo los campos de signo, exponente y mantisa?
- El primer bit es el signo (0 positivo, 1 negativo). Los siguientes 8 u 11 bits son el exponente, almacenado con un sesgo de 127 o 1023. Los 23 o 52 bits restantes son la mantisa: la fracción después de un 1 inicial implícito en los números normales.
- ¿Cómo se codifican Infinity, NaN y el cero negativo?
- Un exponente con todos unos y una mantisa cero es ±Infinity; con una mantisa distinta de cero es NaN. El cero negativo es todo ceros salvo el bit de signo. La herramienta etiqueta cada uno de estos casos especiales a medida que los introduces.
- ¿Puedo convertir un valor float en hex de vuelta a decimal?
- Sí. Cambia a IEEE 754 → Decimal, elige Hex o Binario y pega el patrón. La herramienta reconstruye el signo, el exponente y la mantisa y muestra el decimal exacto que representan los bits.
- ¿Qué es un número subnormal (denormal)?
- Cuando el campo de exponente es todo ceros pero la mantisa no, el número es subnormal: descarta el 1 inicial implícito para representar valores menores que el float normal más pequeño, con precisión reducida. La herramienta los marca automáticamente.
Herramientas relacionadas
Todas las herramientas de ArrayKit