Comment convertir un nombre décimal au format binaire IEEE 754

Télécharger l'articleTélécharger l'article

Les ordinateurs fonctionnent sur la base d'un système binaire qui n'accepte que des 0 et des 1 : c'est la base 2. Tout entier naturel en base 10 a son équivalent en base 2. Mais comment font les ordinateurs quand ils ont à traiter, et cela arrive souvent, des nombres décimaux (comme 7,54) ? C'est là qu'intervient le format IEEE 754 qui, sur une base 2, permet de tout convertir, la partie, entière et la partie décimale. Précision : ce format se présente en deux versions, la simple et la double précision.

Pour cette conversion, vous devez maitriser un tant soit peu la conversion de la base 10 vers la base 2. Si besoin était, cet article devrait vous y initier ou vous aider à rafraichir vos connaissances.

  1. How.com.vn Français: Step 1 Choisissez le format de la norme IEEE 754.
    Deux formats sont possibles : le simple et la double précision. Quelle que soit la précision adoptée, la conversion s'opère de la même façon, seul change le traitement de l'exposant et de la mantisse.
    • Sachez ce qu'est la simple précision. Dans la représentation en virgule flottante, chaque chiffre (0 ou 1) est considéré comme 1 bit. Elle utilise 32 bits qui se répartissent de la façon suivante : 1 bit pour le signe de la mantisse, 8 pour l'exposant et 23 pour la mantisse, ce qui fait bien un total de 32 bits (1 + 8 + 23 = 32).
    • En double précision (64 bits), le principe est le même avec les trois champs, simplement le nombre de bits alloués à deux d'entre eux est plus important. Elle utilise donc 64 bits qui se répartissent de la façon suivante : 1 bit pour le signe de la mantisse, 11 pour l'exposant et 52 pour la mantisse (1 + 11 + 52 = 64).
    • Pour appuyer nos dires, nous chercherons à convertir 85,125 en format IEEE 754 simple précision.
  2. How.com.vn Français: Step 2 Distinguez les parties entière et décimale de votre nombre.
    C'est la première étape (simple) de la conversion : traiter différemment la partie entière et la partie décimale. Pour plus de clarté, nous partons donc du nombre réel 85,125, dont la partie entière est 85 et la partie décimale 0,125.
  3. How.com.vn Français: Step 3 Convertissez la partie...
    Convertissez la partie entière en système binaire [1]. Comme vous le voyez sur l'illustration, la conversion de 85 en base 2 donne : 1010101.
  4. How.com.vn Français: Step 4 Convertissez la partie...
    Convertissez la partie décimale en système binaire [2]. Au lieu de diviser le résultat par 2, vous le multipliez par 2 et vous ne gardez que le reste. Il s'agit donc de convertir ici 0,125 en base 2, soit 0,001.
  5. How.com.vn Français: Step 5 Recombinez les deux parties du nombre.
    Les deux ayant été converties en système binaire, la chose est possible [3]. Ainsi, en système binaire, 85 s'écrit 1010101 et la partie décimale, 0,001. Les deux parties sont accolées et séparées par une virgule, ce qui donne : 85,12510 = 1010101,0012.
  6. How.com.vn Français: Step 6 Récrivez le nombre en base 2 en notation scientifique.
    La première étape consiste à déplacer la virgule vers la gauche et à la mettre juste après le premier chiffre. Comme aucun nombre en base 2 ne commence par 0, la virgule est toujours après le premier 1. La seconde étape consiste à rétablir l'équilibre en multipliant ce nouveau nombre par une puissance de 2 dont l'exposant est le nombre de déplacements de la virgule [4].
    • Ici, nous avons un exposant positif, car la virgule a été déplacée vers la gauche, il aurait été négatif en cas de déplacement vers la droite (chiffre décimal compris entre 0 et 1)
    • Dans notre exemple, nous avons donc déplacé la virgule de 6 rangs vers la gauche, si bien que 85,125 s'écrit en notation scientifique de la façon suivante :
      .
  7. How.com.vn Français: Step 7 Déterminez le signe du nombre.
    Un nombre est soit négatif soit positif et cela doit se traduire en format IEEE 754. Par convention, si le nombre est positif, le premier bit sera 0 et s'il avait été négatif, il aurait été 1 [5]. Notre nombre qui sert d'exemple, 85,125, est positif, le premier bit est donc 0. Ce chiffre sera le premier des 32 bits qui serviront à représenter 85,125 en format IEEE 754 (simple précision).
  8. How.com.vn Français: Step 8 Transformez l'exposant en fonction de la précision.
    Ce format IEEE 754 existe en version simple précision (32 bits) et double (64 bits). Chaque précision a un biais (excédent) que l'on ajoute à l'exposant. En simple précision, l'exposant est codé avec un biais de 127, ce qui dans notre cas doit être ajouté à l'exposant 6 trouvé, soit 127 + 6 = 133.
    • La double précision comme son nom le laisse supposer, permet d'écrire des nombres très grands ou au contraire très petits. En double précision, l'exposant est codé avec un biais de 1023. Si nous avions adopté cette précision, nous aurions non pas ajouté 127, mais 1023, ce qui nous aurait donné un exposant de 1029 (1023 + 6).
  9. How.com.vn Français: Step 9 Convertissez l'exposant en base 2.
    Vous avez compris la logique : tout doit être converti en base 2, exposant compris. Ce nombre constituera la deuxième partie du nombre en format IEEE 754. Dans notre exemple, convertissez l'exposant 133 en base 2, soit 10000101.
  10. How.com.vn Français: Step 10 Déterminez la mantisse.
    La mantisse, troisième partie de tout nombre écrit en format IEEE 754, est la partie qui, en notation scientifique, suit la virgule. Comme il y a 23 bits pour cette mantisse, vous ne devez récupérer que les 23 premiers chiffres. Ici, aucune conversion à faire, il faut juste relever les 23 chiffres. Dans notre exemple, la mantisse est la suivante : .
  11. How.com.vn Français: Step 11 Mettez bout à bout les trois éléments trouvés.
    • Voilà ! Tout est prêt, car tout est en base 2. En format IEEE 754, tout nombre commence par le signe du nombre converti, 0 ou 1. Lors de la 7e étape, nous avons dit que le bit du signe était 0, car 85,125 est positif.
    • Dans la 9e étape de cet article, nous avons déterminé les 8 bits de l'exposant en trouvant pour 85,125 un exposant de 10000101.
    • Et dans la 10e étape, nous avons simplement récupéré la mantisse, toute cette partie du nombre en notation scientifique, qui vient juste après la virgule. Nous avons donc précédemment écrit que la mantisse était 010101001.
    • Pour finir, il suffit de mettre bout à bout ces trois éléments, signe, exposant et mantisse. Au cas où la mantisse ne comprendrait pas 23 chiffres, vous complèteriez avec des 0, et au cas où il y aurait une séquence (du type 0011 0011…), vous ne prendriez que les 23 premiers chiffres.
    • Dans notre exemple, 85,125 converti en format IEEE 754 équivaut à
      0 10000101 01010100100000000000000.
    Publicité

À propos de ce How.com.vn

How.com.vn Français: Grace Imson, MA
Coécrit par:
Professeure de mathématiques
Cet article a été coécrit par Grace Imson, MA. Grace Imson est professeure de mathématiques ayant plus de 40 ans d'expérience dans l'enseignement. Grace est actuellement professeure de mathématiques au City College de San Francisco et était auparavant dans le département de mathématiques de l'université de Saint Louis. Elle a enseigné cette matière au niveau élémentaire, moyen, secondaire et universitaire. Elle est titulaire d'un master en éducation, avec une spécialisation en administration et en supervision, de l'université de Saint Louis. Cet article a été consulté 58 518 fois.
Catégories: Informatique
Cette page a été consultée 58 518 fois.

Cet article vous a-t-il été utile ?

⚠️ Disclaimer:

Content from Wiki How Français language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

Publicité