Saltar al contenido
Totalmente local

Convertidor IEEE 754

Convierte un número decimal a su patrón de bits IEEE 754, o bits de vuelta a un número.

Entrada

Convertidor IEEE 754

Todo número flotante que guarda una computadora es realmente un bit de signo, un exponente y una mantisa, empaquetados según IEEE 754 — el estándar que usan C, Java, Python y JavaScript para sus tipos numéricos. Pegue un número decimal y esta herramienta lo codifica al patrón exacto de bits; pegue el patrón de bits de nuevo y lo decodifica a un número. Cambie de dirección con un clic.

Se admiten dos precisiones: 32 bits simple (1 bit de signo, 8 bits de exponente, 23 bits de mantisa — un float en C o un f32 en Rust) y 64 bits doble (1 + 11 + 52 — un double en C y lo que es internamente cada número en JavaScript). El patrón de bits puede escribirse en hexadecimal o como una cadena simple de ceros y unos, con el orden de bytes configurado en big-endian o little-endian para coincidir con cómo un depurador o volcado de memoria muestra los bytes.

Active "Mostrar signo / exponente / mantisa" para ver los tres campos separados — la forma más rápida de ver por qué un número se codifica así. Active "Mostrar valor almacenado real y error de redondeo" para ver qué sucede con un número después de almacenarse: 3,14 no es exacto en ninguna precisión, y la herramienta muestra el valor realmente almacenado junto con la diferencia entre lo que escribió y lo que mantiene el hardware — la razón por la que las comparaciones de coma flotante en código fallan. Los valores especiales — 0, -0, Infinity, -Infinity y NaN — se convierten a sus patrones definidos, uno por línea, para que toda una lista se convierta a la vez.

Todo se ejecuta localmente en su navegador, usando el mismo DataView que el motor de JavaScript usa para leer y escribir flotantes IEEE 754 — sin biblioteca de coma flotante del lado del servidor y sin que los datos salgan de su dispositivo.

Preguntas frecuentes

¿Qué es IEEE 754?
Es el estándar que define cómo las computadoras almacenan números no enteros en formato binario: un bit de signo, un exponente y una mantisa (fracción). La precisión simple usa 32 bits en total, la precisión doble 64 — los formatos detrás de float y double en C, f32 y f64 en Rust, y cada número en JavaScript.
¿Por qué 3,14 no se decodifica exactamente a 3,14?
La mayoría de las fracciones decimales no se pueden representar exactamente en formato binario, de la misma manera que 1/3 no se puede escribir exactamente en formato decimal. El valor realmente almacenado es el más cercano que el formato puede contener — active "Mostrar valor almacenado real" para verlo y el tamaño de la brecha.
¿Cuál es la diferencia entre precisión simple y doble?
La precisión simple (32 bits) tiene menos espacio para la mantisa, así que redondea más números y pierde más dígitos de precisión. La precisión doble (64 bits) es exacta para muchos más valores — es lo que los números JavaScript ya son internamente, por lo que pasar un doble por esta herramienta nunca pierde nada.
¿Qué cambia el orden de bytes?
Solo afecta cómo se agrupan los mismos bits en bytes para lectura o escritura — big-endian escribe el byte más significativo primero, little-endian último, coincidiendo con cómo un depurador o volcado hex muestra la memoria en una arquitectura particular. El número en sí y el desglose de signo/exponente/mantisa no cambian.
¿Se carga mi entrada en algún lugar?
No. La conversión se ejecuta completamente en su navegador utilizando las mismas APIs binarias de lectura/escritura en las que confía el motor JavaScript — nada de lo que escriba aquí se envía a un servidor.