Convertisseur IEEE 754

Ce convertisseur IEEE 754 transforme un nombre décimal en motif de 16, 32 ou 64 bits et affiche signe, exposant, mantisse, la valeur exacte stockée et l’erreur d’arrondi. L’hexadécimal et les bits sont aussi acceptés.

Source : Wikipedia – IEEE 754 (Formate, Bias, subnormale Zahlen, Sonderwerte). Mise à jour : .

Ma boîte à outilsVos saisies sont enregistrées uniquement dans ce navigateur.

Résultat

Résultat
0x3DCCCCCD · 0 01111011 10011001100110011001101
Structure des bits
PartieBitsSignification
Signe0+
Exposant (8 bit)01111011123 − 127 = -4
Mantisse (23 bit)100110011001100110011011.10011001100110011001101
Valeur stockée
GrandeurValeur
Hexadécimal0x3DCCCCCD
Typenombre normal
Valeur exacte stockée0.100000001490116119384765625
Écart par rapport à la saisie+1.490e-9
Prédécesseur0.0999999940395355224609375
Successeur0.10000000894069671630859375
L’arrondi se fait au nombre représentable le plus proche, avec égalité vers la mantisse paire. Prédécesseur et successeur montrent l’écart entre deux flottants voisins. Pour 32 bits : valeur = (−1)^s · 2^(e − biais) · (1 + m/2^p).

Comment le calcul est fait

Un nombre à virgule flottante se compose d’un signe s, d’un exposant e et d’une mantisse m : valeur = (−1)^s · 2^(e − biais) · 1,m. Le décimal 0,1 devient 0x3DCCCCCD en float et est stocké comme 0,100000001490116119384765625.

Les trois formats

Pourquoi 0,1 n’est pas exact

Les flottants stockent des puissances de deux, or 0,1 est une fraction périodique en binaire. Il est donc arrondi, et 0,1 + 0,2 donne 0,30000000000000004. Le convertisseur montre la valeur décimale exacte stockée et l’erreur d’arrondi.

Valeurs spéciales

Si tous les bits d’exposant valent 1, le nombre est infini (mantisse 0) ou NaN (mantisse non nulle). Si tous valent 0, le nombre est nul ou subnormal, stocké sans le 1 de tête.

Questions fréquentes

Comment convertir un nombre décimal en IEEE 754 ?

On le décompose en signe, exposant en base 2 et mantisse, que l’on stocke sur 8 + 23 bits (float) ou 11 + 52 bits (double). Le convertisseur le fait et affiche hexadécimal et bits.

Pourquoi 0,1 en float n’est-il pas exactement 0,1 ?

0,1 est une fraction infinie en binaire et doit être arrondi. En float cela donne 0,100000001490116…, en double 0,1000000000000000055….

Que signifient les bits d’un float ?

Le premier bit est le signe, les 8 suivants l’exposant avec biais 127 et les 23 derniers la mantisse sans le 1 de tête.

Sources et références juridiques

Dernière mise à jour : · Principes éditoriaux

Outils similaires