Float double précision en bits
Voyez exactement comment un ordinateur stocke un décimal en double précision : 1 devient 3FF0000000000000, avec un bit de signe à 0, un exposant de 1023 et 52 bits de mantisse à zéro. Zéros, sous-normaux, infinis et NaN ont leur propre étiquette. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Valeur
- 1
- Format de sortie
- binary64
- Bits
- 64
- Hex
- 3FF0000000000000
- Hexadécimal préfixé
- 0x3FF0000000000000
Saisissez un décimal tel que un, moins trois virgule cinq ou une valeur scientifique, et l'outil renvoie le mot hexadécimal canonique de seize chiffres, la chaîne binaire complète de soixante-quatre bits, le bit de signe, le champ d'exposant biaisé de onze bits, la mantisse de cinquante-deux bits, l'exposant non biaisé lorsqu'il est défini, et une étiquette de catégorie pour les nombres normaux, sous-normaux, zéros signés, infinis et NaN. Les dumps firmware, les traces réseau, les runtimes de langage et les exercices de manuel partagent cette disposition déterministe binary64.
Ce que contiennent les 64 bits d'un double
Une valeur binary64 occupe exactement soixante-quatre bits disposés en un bit de signe, onze bits d'exposant avec biais mille vingt-trois, et cinquante-deux bits explicites de mantisse (le champ fraction ou significande) avec un un de tête implicite pour les nombres normaux. Le bit de signe vaut zéro pour les valeurs non négatives et un pour les valeurs négatives, y compris le zéro négatif.
Le champ d'exposant biaisé code la vraie puissance de deux comme entier non signé : pour les nombres normaux l'exposant non biaisé égale le champ biaisé moins mille vingt-trois.
Les motifs spéciaux réutilisent la même disposition sans étiquette séparée : un exposant tout à un avec mantisse nulle est un infini signé ; un exposant tout à un avec mantisse non nulle est un NaN ; un exposant tout à zéro avec mantisse nulle est un zéro signé ; un exposant tout à zéro avec mantisse non nulle est un nombre sous-normal qui comble le creux près de zéro.
Cette capacité cible toujours uniquement binary64—elle ne bascule pas en simple précision trente-deux bits—ainsi chaque réponse a une largeur de champ fixe que vous pouvez documenter dans les protocoles, sérialiseurs et barèmes d'examen. L'encodage utilise l'ordre des octets big-endian via DataView, conforme à la convention réseau et scolaire du bit de poids fort en premier, de sorte que le premier nibble hex est toujours l'extrémité haute du mot et le premier chiffre binaire est toujours le signe.
Quand voir les bits d'un nombre aide
Les programmeurs système et les ingénieurs embarqués utilisent un outil float double précision vers bits pour confronter dumps mémoire, formats filaires et registres de débogueur aux valeurs décimales sans déployer un désassembleur complet. Les auteurs de langages et de bibliothèques fixent des encodages dorés dans les tests unitaires de sérialiseurs, graines de hachage et échange flottant multiplateforme pour que la CI échoue si une plateforme change silencieusement l'arrondi.
Les pipelines de données et ML doivent parfois prouver qu'un mot binary64 stocké correspond à une constante documentée telle que pi ou à une charge NaN silencieuse sentinelle lors de l'audit de charges parquet ou protobuf. Une validation en échec ne consomme pas le solde.
Cas d’usage
Dumps firmware et protocoles
Confrontez un double décimal au hex binary64 big-endian de dumps mémoire, journaux CAN ou traces réseau en comparant les champs signe, exposant et mantisse.
Questions fréquentes
Est-ce uniquement pour les doubles de soixante-quatre bits ?
Elle ne bascule pas en binary32 simple précision.
Puis-je encoder Infinity et NaN ?
Oui. Envoyez Infinity, -Infinity ou NaN comme nombres ou chaînes orthographiées. Ils correspondent aux motifs standard d'exposant tout à un avec mantisse nulle ou non nulle.
Quel motif de bits a le nombre 1 en double précision ?
Son mot hexadécimal est 3FF0000000000000. Le bit de signe vaut 0, l'exposant 01111111111 vaut 1023 et les 52 bits de mantisse sont à zéro. L'exposant réel est 0, la valeur vaut donc exactement un.
Pourquoi l'exposant est-il stocké avec un biais de 1023 ?
Pour que ses 11 bits représentent des puissances de deux positives et négatives sous la forme d'un seul nombre non signé. Pour un nombre normal, retranchez 1023 de l'exposant stocké afin d'obtenir l'exposant réel.
À quoi ressemble un nombre sous-normal dans les bits ?
Son exposant est entièrement à zéro alors que sa mantisse ne l'est pas. Les sous-normaux comblent l'écart entre zéro et le plus petit nombre normal, et l'outil les étiquette pour éviter toute confusion avec un zéro signé.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre 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)Exemple de requête
{
"value": 1
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.ieee754_double_bits",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Un convertisseur de float double précision en bits montre le motif exact de soixante-quatre bits IEEE 754 qu'un ordinateur utilise pour un nombre à virgule flottante. Le texte non numérique est rejeté avec invalid_input au lieu d'être contraint en silence. Le chemin est de l'arithmétique pure de Worker via DataView—sans réseau, sans graines aléatoires, sans dépendance à l'horloge—ainsi l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON à chaque fois pour la même entrée au prix de base publié $0.002 par appel réussi.
Ce que stocke IEEE-754 binary64 : signe, exposant et mantisse
IEEE-754 binary64 est le format d'échange qu'utilisent presque tous les CPU, GPU et runtimes de langage modernes pour l'arithmétique en virgule flottante double précision.
Contrat d'entrée, forme de la réponse et lecture des champs
Les valeurs spéciales Infinity, Infinity négatif et NaN sont acceptées comme nombres ou comme chaînes orthographiées afin que vous puissiez inspecter leurs motifs de bits canoniques sans inventer de drapeaux hors bande. Exemple : value égal à un produit un hex commençant par trois-F-F-zéro… et un binaire commençant par zéro suivi de onze uns et cinquante-deux bits de mantisse à zéro, category normal, exposant biaisé mille vingt-trois, exposant non biaisé zéro. Associez la réponse à vos propres visionneuses de dump si vous avez besoin de groupes de nibble espacés ; ce point d'accès renvoie des chaînes hex et binaires denses prêtes pour les tests d'égalité. Envoyez un corps JSON avec un champ obligatoire nommé value : un nombre à virgule flottante double précision. Le champ peut arriver comme nombre JSON ou comme chaîne numérique ; les alias number, n et decimal sont acceptés. Champs manquants, chaînes vides, booléens, objets et texte non numérique échouent avec invalid_input en nommant le champ et ne sont pas facturés. En cas de succès le corps renvoie la valeur publiée (NaN et infinis comme chaînes car JSON ne peut pas les porter comme nombres), is_neg_zero lorsque Object.is détecte le zéro négatif, format binary64, bits soixante-quatre, hex comme seize chiffres majuscules sans préfixe, hex_prefixed avec un zero-x initial, binary comme chaîne de soixante-quatre caractères de zéros et uns, sign_bit, exponent_bits, mantissa_bits, sign comme plus ou moins un, biased_exponent comme entier de zéro à deux mille quarante-sept, unbiased_exponent lorsqu'il est défini pour les cas normaux et sous-normaux, category parmi normal, subnormal, pos_zero, neg_zero, pos_infinity, neg_infinity ou nan, et exponent_bias toujours mille vingt-trois.
Où une API float double précision vers bits apporte de la valeur
Les enseignants et plateformes d'examen ont besoin d'un oracle déterministe qui montre aux élèves la découpe signe-exposant-mantisse pour les devoirs IEEE-754 plutôt qu'un printf opaque en hex seul. Comme l'implémentation est pure parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle et sans réseau sortant. Gardez les requêtes à un seul nombre, figez les chaînes hex et de champs dans les tests, et vous obtenez des dispositions binary64 reproductibles pour notes firmware, plugins LMS et workers en périphérie sans bibliothèque IEEE locale à vous.
Cas d'intégration
Or de sérialiseurs et tests unitaires
Fixez les encodages IEEE-754 attendus pour des constantes (1.0, -3.5, pi) en CI afin que l'échange flottant multiplateforme ne dérive jamais en silence.
Contrôles de cours IEEE-754
Montrez aux élèves la disposition exacte des bits 1+11+52 pour les devoirs de double précision sans compter à la main les champs binaires.
Questions techniques
Comment convertir un float double précision en bits IEEE-754 ?
Envoyez un corps JSON avec value égal à votre nombre décimal. L'API renvoie hex, binary, sign_bit, exponent_bits, mantissa_bits et category de l'encodage binary64.
Quelle erreur pour une entrée non numérique ?
La tâche échoue avec invalid_input et un message nommant le champ. L'entrée invalide n'est pas facturée.
Combien coûte le convertisseur float double précision en bits ?
L'outil navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; l'entrée invalide n'est pas facturée.