ForHosting KIT · Convertisseurs d'unités

Convertisseur float IEEE-754

3,14 en double précision est stocké sous la forme 0x40091EB851EB851F : un bit de signe, onze bits d'exposant et 52 bits de mantisse, chacun affiché à part. Décodez aussi des vidages hexadécimaux et repérez zéros, sous-normaux, infinis et NaN d'un coup d'œil. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Valeur d'entrée
3,14
Largeur IEEE-754 : 32
64
Sens de la conversion
From decimal
Vous obtenez
Largeur de précision
64
Format de sortie
binary64
Nombre de bits
64
Code hex
40091EB851EB851F

Saisissez une valeur décimale telle que 3.14 ou moins un, choisissez la précision simple binary32 ou double binary64, et l'outil renvoie le mot hexadécimal canonique, la chaîne binaire complète, le bit de signe, le champ d'exposant biaisé, les bits de significande et une étiquette de catégorie pour les nombres normaux, sous-normaux, zéros signés, infinis et NaN. Vous pouvez aussi coller un dump hex ou une chaîne de bits et le décoder en décimal, de sorte que dumps de micrologiciel, traces réseau et exercices de manuel partagent une seule disposition déterministe.

Ce que contient vraiment un nombre à virgule flottante

Presque tous les processeurs stockent les nombres décimaux dans le format standard à virgule flottante, qui répartit un nombre fixe de bits en trois parties. Le bit de signe indique si la valeur est positive ou négative. L'exposant fixe l'échelle ; il est stocké avec un biais constant pour éviter un signe propre. La mantisse porte les chiffres, avec un un initial implicite pour les nombres normaux. La double précision répartit 64 bits en 1, 11 et 52 ; la simple tient en 32. Le même schéma code, sans marque supplémentaire, le zéro signé, les sous-normaux proches de zéro, l'infini et NaN.

Quand regarder les bits, et les erreurs courantes

Voir le motif aide quand une valeur lue dans un vidage de micrologiciel, une capture réseau ou un fichier semble fausse, ou quand vous expliquez en cours pourquoi le calcul en virgule flottante se comporte ainsi. Collez un mot de huit chiffres hexadécimaux pour la simple précision ou de seize pour la double, et l'outil retrouve le décimal et sa catégorie. Les erreurs typiques consistent à choisir la mauvaise précision, à lire les octets dans l'ordre inverse (ici, l'ordre habituel gros-boutiste, de l'octet de poids fort à celui de poids faible) et à oublier que l'exposant stocké inclut le biais. Un texte qui n'est pas un nombre est refusé plutôt que deviné.

Enseigner les champs signe, exposant et significande

Montrez aux étudiants la disposition exacte des bits pour des valeurs de manuel, y compris normaux, sous-normaux, zéros signés, infinis et NaN, avec des étapes déterministes pour les fiches.

Décoder des dumps hex de micrologiciel et captures

Collez un mot hex de huit ou seize chiffres d'un dump mémoire ou d'un paquet et récupérez le float décimal plus la catégorie sans écrire un script jetable.

Puis-je décoder l'hex en float ?

Le value de la réponse est le décimal décodé (ou des chaînes NaN / Infinity le cas échéant).

Comment convertir un nombre décimal en motif hexadécimal à virgule flottante ?

Saisissez le nombre, choisissez la simple ou la double précision, et vous obtenez le mot hexadécimal, la chaîne binaire et chaque partie séparément. Par exemple, 3,14 en double précision donne 0x40091EB851EB851F.

Quelle différence entre simple et double précision ?

La simple précision (binary32) utilise 32 bits : un de signe, huit d'exposant et vingt-trois de mantisse. La double (binary64) utilise 64 bits : un de signe, onze d'exposant avec un biais de 1023 et 52 de mantisse.

Comment l'infini et NaN sont-ils stockés ?

Tous deux ont un exposant composé uniquement de uns. Si la mantisse ne contient que des zéros, la valeur est l'infini, positif ou négatif selon le bit de signe ; si un bit de mantisse vaut un, c'est NaN.

Qu'est-ce qu'un nombre sous-normal ?

C'est une valeur dont l'exposant est entièrement à zéro et la mantisse non nulle. Elle comble l'écart entre zéro et le plus petit nombre normal, au prix d'une précision réduite ; l'outil l'indique dans sa catégorie.

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.

POSThttps://api.kit.forhosting.com/fmt/ieee754

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é.

curl -X POST https://api.kit.forhosting.com/fmt/ieee754 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":3.14,"decimal":1}'
{
  "value": 3.14,
  "decimal": 1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "fmt.ieee754",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_bits64
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Un convertisseur de flottant IEEE-754 montre le motif de bits exact qu'un ordinateur utilise pour un nombre à virgule flottante. Le texte décimal non numérique est rejeté avec invalid_input au lieu d'être contraint en silence. Le chemin est de l'arithmétique pure Worker via DataView—pas de réseau, pas de graines aléatoires, pas de 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.

Ce que stockent IEEE-754 binary32 et binary64

La même disposition encode des valeurs spéciales sans étiquette séparée : un exposant tout à un avec significande nulle est l'infini signé ; un exposant tout à un avec significande non nulle est un NaN ; un exposant tout à zéro avec significande nulle est le zéro signé ; un exposant tout à zéro avec significande non nulle est un nombre sous-normal qui comble l'écart près de zéro. Les ingénieurs qui déboguent la sérialisation, les enseignants qui expliquent l'erreur de virgule flottante et les ingénieurs inverses qui lisent des dumps hex ont besoin de voir cette disposition explicitement. IEEE-754 est le format d'échange que presque chaque CPU, GPU et runtime de langage moderne utilise pour l'arithmétique binaire à virgule flottante. Une valeur binary32 occupe trente-deux bits : un bit de signe, huit bits d'exposant avec biais cent vingt-sept, et vingt-trois bits explicites de significande avec un un de tête implicite pour les nombres normaux. Une valeur binary64 occupe soixante-quatre bits : un bit de signe, onze bits d'exposant avec biais mille vingt-trois, et cinquante-deux bits de significande. Cette capacité n'invente pas un encodage personnalisé : elle utilise les getters et setters flottants big-endian de DataView de la plateforme pour que la chaîne hex obtenue corresponde au dump mémoire conventionnel d'un mot IEEE big-endian, et la chaîne binaire est simplement ces octets développés bit par bit du plus significatif au moins significatif.

Comment appeler l'API et ce qui revient

Envoyez un corps JSON avec au moins un champ source. Pour encoder un décimal, définissez value (alias decimal, number, n) à un nombre fini ou à Infinity, moins Infinity ou NaN lorsque ces spéciaux sont représentables dans votre client. Pour décoder un motif de bits, définissez hex à une chaîne hexadécimale avec 0x optionnel d'au plus huit chiffres pour binary32 ou seize pour binary64, ou définissez binary (alias bits) à une chaîne de zéros et uns de longueur correspondante ; les motifs plus courts sont complétés à gauche par des zéros. precision optionnel (alias format, width) sélectionne une largeur de trente-deux ou soixante-quatre bits et accepte des noms comme single, double, binary32 et binary64 ; la valeur par défaut est soixante-quatre. direction optionnel (alias mode) force from_decimal, from_hex ou from_binary ; auto choisit selon les champs présents et préfère value lorsque plusieurs sont définis. En cas de succès la réponse inclut value (avec formes chaîne pour NaN et infinis), is_neg_zero, precision, nom de format, bits, hex, hex_prefixed, binary, sign_bit, exponent_bits, mantissa_bits et significand_bits, sign comme plus ou moins un, biased_exponent, unbiased_exponent lorsqu'il est défini, category, exponent_bias, source, message et steps ordonnés. Une validation échouée—tous les champs source manquants, texte décimal non numérique, chiffres hex invalides ou caractères non binaires—renvoie invalid_input et n'est jamais facturée. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item et prix marginal unitaire nul.

Conseils pratiques, limites et recherches associées

Préférez precision soixante-quatre lorsque votre source est un nombre JavaScript ou un autre type hôte binary64, et passez à trente-deux uniquement lorsque vous faites correspondre un stockage float ou float32 sur le fil ou dans un format de fichier. En aller-retour, encodez une valeur puis décodez le hex renvoyé avec la même precision et confirmez que category et les champs correspondent. Rappelez-vous que de nombreux décimaux comme un dixième n'ont pas de développement binaire fini ; le hex que vous voyez est l'encodage IEEE correctement arrondi, pas un bogue. Utilisez des exemples de zéro signé, d'infini et de NaN pour enseigner les spéciaux : encoder zéro et zéro négatif produit des bits de signe distincts et les catégories pos_zero et neg_zero même si JSON imprime les deux comme zéro et que l'outil expose is_neg_zero pour ce cas. Gardez les motifs dans la largeur de bits publiée ; les motifs plus longs que la precision choisie sont rejetés plutôt que tronqués, ce qui changerait silencieusement la valeur. Cette page cible les personnes qui cherchent un convertisseur float vers IEEE-754, un dump hex simple ou double précision, ou un outil de motif de bits à virgule flottante binaire ; ce n'est pas un convertisseur à virgule flottante décimale (decimal64), ni une calculatrice à précision arbitraire, ni un outil général hex-vers-binaire d'entiers—utilisez la capacité sœur hex-vers-binaire lorsque vous n'avez besoin que d'une conversion de base entière. Les tâches échouées qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient les scripts exploratoires bon marché lorsque les apprenants envoient délibérément des chaînes de déchets.

Déboguer la sérialisation binaire des flottants

Confirmez qu'un float écrit par un service correspond au hex IEEE-754 qu'un autre service lit, pour les formats filaires binary32 et les dumps adjacents à JSON binary64.

Qu'est-ce qu'IEEE-754 binary64 ?

Binary64 est le format double précision 64 bits : 1 bit de signe, 11 bits d'exposant (biais 1023) et 52 bits de significande. C'est le format utilisé par JavaScript Number et la plupart des CPU pour les valeurs double.

Comment convertir un float en hex ?

Envoyez value avec le nombre décimal et precision optionnelle 32 ou 64. Les champs hex et hex_prefixed de la réponse sont le motif de bits IEEE-754 big-endian.

Que se passe-t-il avec une entrée non numérique ?

Un texte décimal qui n'est pas un nombre renvoie invalid_input et n'est pas facturé. Les spéciaux valides Infinity, -Infinity et NaN sont acceptés comme encodages IEEE.

Le convertisseur IEEE-754 est-il gratuit ?

L'outil navigateur est gratuit et s'exécute en local. Les appels API utilisent le solde KIT prépayé à $0.002 par requête réussie ; les tâches échouées ne sont jamais facturées.

Consulter la documentation complète du KIT →