Aller au contenu
Tout en local

Convertisseur IEEE 754

Convertissez un nombre décimal en son motif binaire IEEE 754, ou reconvertissez les bits en nombre.

Entrée

Convertisseur IEEE 754

Tout nombre à virgule flottante qu'un ordinateur stocke est vraiment un bit de signe, un exposant et une mantisse, empaquetés ensemble selon IEEE 754 — la norme utilisée par C, Java, Python et JavaScript pour leurs types numériques. Collez un nombre décimal et cet outil le code dans le motif binaire exact ; collez le motif binaire de retour et il le décode en un nombre. Changez de direction d'un clic.

Deux précisions sont supportées : 32 bits simple (1 bit de signe, 8 bits d'exposant, 23 bits de mantisse — un float en C ou un f32 en Rust) et 64 bits double (1 + 11 + 52 — un double en C et ce qu'est chaque nombre JavaScript en interne). Le motif binaire peut être écrit en hexadécimal ou en tant que simple chaîne de 0 et de 1, avec l'ordre des octets défini en big-endian ou little-endian pour correspondre à la façon dont un débogueur ou un vidage mémoire affiche les octets.

Activez "Afficher signe / exposant / mantisse" pour voir les trois champs séparés — le moyen le plus rapide de voir pourquoi un nombre se code ainsi. Activez "Afficher valeur stockée réelle et erreur d'arrondi" pour voir ce qui se passe avec un nombre après stockage : 3,14 n'est pas exact dans aucune précision, et l'outil affiche la valeur réellement stockée ainsi que l'écart entre ce que vous avez tapé et ce que le matériel conserve — la raison pour laquelle les comparaisons en virgule flottante en code échouent. Les valeurs spéciales — 0, -0, Infinity, -Infinity et NaN — se convertissent toutes en leurs motifs définis, un par ligne, de sorte qu'une liste entière se convertisse à la fois.

Tout s'exécute localement dans votre navigateur, en utilisant le même DataView que le moteur JavaScript lui-même utilise pour lire et écrire les nombres à virgule flottante IEEE 754 — pas de bibliothèque virgule flottante côté serveur, et aucune donnée ne quitte votre appareil.

FAQ

Qu'est-ce que IEEE 754 ?
C'est la norme qui définit comment les ordinateurs stockent les nombres non entiers en format binaire : un bit de signe, un exposant et une mantisse (fraction). La précision simple utilise 32 bits au total, la précision double 64 — les formats derrière float et double en C, f32 et f64 en Rust, et chaque nombre en JavaScript.
Pourquoi 3,14 ne se décode-t-il pas exactement en 3,14 ?
La plupart des fractions décimales ne peuvent pas être représentées exactement en format binaire, de la même manière que 1/3 ne peut pas être écrit exactement en format décimal. La valeur réellement stockée est la plus proche que le format peut contenir — activez "Afficher valeur stockée réelle" pour la voir et la taille de l'écart.
Quelle est la différence entre la simple et la double précision ?
La simple précision (32 bits) a moins d'espace pour la mantisse, elle arrondit donc plus de nombres et perd plus de chiffres de précision. La double précision (64 bits) est exacte pour bien plus de valeurs — c'est ce que les nombres JavaScript sont déjà en interne, donc passer un double par cet outil ne perd jamais rien.
Qu'est-ce que change l'ordre des octets ?
Cela n'affecte que la façon dont les mêmes bits sont regroupés en octets pour la lecture ou l'écriture — big-endian écrit l'octet le plus significatif en premier, little-endian en dernier, ce qui correspond à la façon dont un débogueur ou un vidage hexadécimal affiche la mémoire sur une architecture particulière. Le nombre lui-même et la ventilation signe/exposant/mantisse ne changent pas.
Mes données d'entrée sont-elles chargées quelque part ?
Non. La conversion s'exécute entièrement dans votre navigateur en utilisant les mêmes API de lecture/écriture binaires sur lesquelles le moteur JavaScript lui-même s'appuie — rien de ce que vous tapez ici n'est envoyé à un serveur.