Float doble precisión a bits
Vea exactamente cómo guarda un ordenador un decimal en doble precisión: el 1 se convierte en 3FF0000000000000, con bit de signo 0, exponente 1023 y 52 bits de mantisa en cero. Ceros, subnormales, infinitos y NaN llevan su propia etiqueta. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Valor
- 1
- Formato de salida
- binary64
- Bits
- 64
- Hex
- 3FF0000000000000
- Hexadecimal con prefijo
- 0x3FF0000000000000
Introduzca un decimal como uno, menos tres coma cinco o un valor científico, y la herramienta devuelve la palabra hexadecimal canónica de dieciséis dígitos, la cadena binaria completa de sesenta y cuatro bits, el bit de signo, el campo de exponente sesgado de once bits, la mantisa de cincuenta y dos bits, el exponente sin sesgo cuando está definido, y una etiqueta de categoría para números normales, subnormales, ceros con signo, infinitos y NaN. Los volcados de firmware, las trazas de red, los runtimes de lenguaje y los ejercicios de libro comparten este diseño determinista binary64.
Qué guardan los 64 bits de un número doble
Un valor binary64 ocupa exactamente sesenta y cuatro bits dispuestos como un bit de signo, once bits de exponente con sesgo mil veintitrés, y cincuenta y dos bits explícitos de mantisa (el campo fracción o significando) con un uno líder implícito en números normales. El bit de signo es cero para valores no negativos y uno para valores negativos, incluido el cero negativo.
El campo de exponente sesgado codifica la verdadera potencia de dos como entero sin signo: en números normales el exponente sin sesgo es el campo sesgado menos mil veintitrés.
Los patrones especiales reutilizan el mismo diseño sin etiqueta aparte: un exponente de todos unos con mantisa cero es infinito con signo; un exponente de todos unos con mantisa distinta de cero es un NaN; un exponente de todos ceros con mantisa cero es cero con signo; un exponente de todos ceros con mantisa distinta de cero es un número subnormal que llena el hueco cerca de cero.
Esta capacidad apunta siempre solo a binary64—no cambia a precisión simple de treinta y dos bits—así cada respuesta tiene un ancho de campo fijo que usted puede documentar en protocolos, serializadores y claves de examen. La codificación usa orden de bytes big-endian mediante DataView, que coincide con la convención de red y de libro del bit más significativo primero, de modo que el primer nibble hex es siempre el extremo alto de la palabra y el primer dígito binario es siempre el signo.
Qué puede hacer con ella
Volcados de firmware y protocolos
Contraste un double decimal con hex binary64 big-endian de volcados de memoria, registros CAN o trazas de red comparando los campos de signo, exponente y mantisa.
Preguntas frecuentes
¿Puedo codificar Infinity y NaN?
Sí. Envíe Infinity, -Infinity o NaN como números o cadenas escritas. Se mapean a los patrones estándar de exponente todo unos con mantisa cero o distinta de cero.
¿Qué patrón de bits tiene el número 1 en doble precisión?
Su palabra hexadecimal es 3FF0000000000000. El bit de signo es 0, el exponente es 01111111111, que vale 1023, y los 52 bits de la mantisa son cero. El exponente real es 0, así que el valor es exactamente uno.
¿Por qué el exponente se guarda con un desplazamiento de 1023?
Para que sus 11 bits representen potencias de dos positivas y negativas como un solo número sin signo. En un número normal, reste 1023 al exponente guardado y obtendrá el real: un 1023 guardado significa dos elevado a cero.
¿Cómo se ve un número subnormal en los bits?
Tiene el exponente entero en ceros y una mantisa distinta de cero. Los subnormales llenan el hueco entre el cero y el menor número normal, y la herramienta los etiqueta para que no se confundan con un cero con signo.
¿Muestra también la precisión simple de 32 bits?
No. Trabaja siempre con doble precisión de 64 bits, así que cada resultado tiene el mismo ancho: 16 cifras hexadecimales y 64 dígitos binarios. Para la precisión simple necesita otro conversor.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/ieee754-double-bits \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1}'const res = await fetch("https://api.kit.forhosting.com/dev/ieee754-double-bits", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/ieee754-double-bits",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/ieee754-double-bits", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/ieee754-double-bits", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"value": 1
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ieee754_double_bits",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Un conversor de float de doble precisión a bits muestra el patrón exacto de sesenta y cuatro bits IEEE 754 que un ordenador usa para un número en coma flotante. El texto no numérico se rechaza con invalid_input en lugar de coercerse en silencio. La ruta es aritmética pura de Worker vía DataView—sin red, sin semillas aleatorias, sin dependencia del reloj—así el ejecutor gratuito del navegador y la API de prepago devuelven el mismo JSON cada vez para la misma entrada al precio base publicado $0.002 por llamada correcta.
Qué almacena IEEE-754 binary64: signo, exponente y mantisa
IEEE-754 binary64 es el formato de intercambio que casi cada CPU, GPU y runtime de lenguaje moderno usa para aritmética en coma flotante de doble precisión.
Contrato de entrada, forma de respuesta y lectura de campos
Los valores especiales Infinity, Infinity negativo y NaN se aceptan como números o como cadenas escritas para que pueda inspeccionar sus patrones de bits canónicos sin inventar flags fuera de banda. Ejemplo: value igual a uno produce hex que empieza por tres-F-F-cero… y binario que empieza por cero seguido de once unos y cincuenta y dos bits de mantisa a cero, category normal, exponente sesgado mil veintitrés, exponente sin sesgo cero. Envíe un cuerpo JSON con un campo obligatorio llamado value: un número en coma flotante de doble precisión. El campo puede llegar como número JSON o como cadena numérica; se aceptan los alias number, n y decimal. Campos ausentes, cadenas vacías, booleanos, objetos y texto no numérico fallan con invalid_input nombrando el campo y no se facturan. En caso de éxito el cuerpo repite el valor publicado (NaN e infinitos como cadenas porque JSON no puede transportarlos como números), is_neg_zero cuando Object.is detecta cero negativo, format binary64, bits sesenta y cuatro, hex como dieciséis dígitos en mayúsculas sin prefijo, hex_prefixed con un zero-x inicial, binary como cadena de sesenta y cuatro caracteres de ceros y unos, sign_bit, exponent_bits, mantissa_bits, sign como más o menos uno, biased_exponent como entero de cero a dos mil cuarenta y siete, unbiased_exponent cuando está definido en casos normales y subnormales, category como una de normal, subnormal, pos_zero, neg_zero, pos_infinity, neg_infinity o nan, y exponent_bias siempre mil veintitrés. Combine la respuesta con sus propios visores de volcado si necesita grupos de nibble espaciados; este endpoint devuelve cadenas hex y binarias densas listas para pruebas de igualdad.
Dónde una API de float de doble precisión a bits aporta valor
Los programadores de sistemas y los ingenieros embebidos usan una herramienta de float de doble precisión a bits al contrastar volcados de memoria, formatos de cable y registros del depurador frente a valores decimales sin montar un desensamblador completo. Las canalizaciones de datos y ML a veces deben demostrar que una palabra binary64 almacenada coincide con una constante documentada como pi o con una carga NaN silenciosa centinela al auditar cargas parquet o protobuf. La validación fallida no consume saldo. Educadores y plataformas de examen necesitan un oráculo determinista que muestre a los alumnos la división signo-exponente-mantisa en deberes de IEEE-754 en lugar de un printf opaco solo en hex. Como la implementación es pure parse de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo y sin red saliente. Mantenga las peticiones en un solo número, fije las cadenas hex y de campos en las pruebas, y obtendrá diseños binary64 reproducibles para notas de firmware, plugins LMS y workers en el borde sin una biblioteca IEEE local propia.
Casos de integración
Oro de serializadores y pruebas unitarias
Fije codificaciones IEEE-754 esperadas para constantes (1.0, -3.5, pi) en CI para que el intercambio de float multiplataforma nunca derive en silencio.
Comprobaciones de aula IEEE-754
Muestre a los alumnos el diseño exacto de bits 1+11+52 en deberes de doble precisión sin contar a mano los campos binarios.
Preguntas técnicas
¿Cómo convierto un float de doble precisión a bits IEEE-754?
Envíe un cuerpo JSON con value igual a su número decimal. La API devuelve hex, binary, sign_bit, exponent_bits, mantissa_bits y category de la codificación binary64.
¿Es solo para doubles de sesenta y cuatro bits?
Sí. Esta capacidad siempre codifica IEEE-754 binary64 (1 bit de signo + 11 de exponente + 52 de mantisa). No cambia a binary32 de precisión simple.
¿Qué error obtengo con entrada no numérica?
La tarea falla con invalid_input y un mensaje que nombra el campo. La entrada inválida no se factura.
¿Cuánto cuesta el conversor de float de doble precisión a bits?
La herramienta del navegador es gratis. Las peticiones API usan saldo KIT prepago a $0.002 por llamada correcta; la entrada inválida no se factura.