Comment convertir un nombre décimal en représentation à virgule flottante IEEE 754?
Contrairement aux humains, les ordinateurs n'utilisent pas le système de numération de base 10. Ils utilisent un système de nombres en base 2 qui permet deux représentations possibles, 0 et 1. Ainsi, les nombres sont écrits très différemment dans IEEE 754 que dans le système décimal traditionnel auquel nous sommes habitués. Dans ce guide, vous apprendrez à écrire un nombre en représentation simple ou double précision IEEE 754.
Pour cette méthode, vous devrez savoir comment convertir des nombres sous forme binaire. Si vous ne savez pas comment faire cela, vous pouvez apprendre comment dans Comment convertir de décimal en binaire.
- 1Choisissez simple ou double précision. Lors de l'écriture d'un nombre en simple ou double précision, les étapes d'une conversion réussie seront les mêmes pour les deux, le seul changement se produit lors de la conversion de l'exposant et de la mantisse.
- Tout d'abord, nous devons comprendre ce que signifie la simple précision. Dans la représentation à virgule flottante, chaque nombre (0 ou 1) est considéré comme un "bit". Par conséquent, la simple précision a un total de 32 bits qui sont divisés en 3 sujets différents. Ces sujets se composent d'un signe (1 bit), d'un exposant (8 bits) et d'une mantisse ou fraction (23 bits).
- La double précision, en revanche, a la même configuration et les mêmes 3 parties que la simple précision; la seule différence est que ce sera un nombre plus grand et plus précis. Dans ce cas, le signe aura 1 bit, l'exposant aura 11 bits et la mantisse aura 52 bits.
- Dans cet exemple, le nombre 85125 sera converti en simple précision IEEE 754.
- 2Séparez le tout et la partie décimale du nombre. Prenez le nombre que vous souhaitez convertir et séparez le nombre de sorte que vous ayez une partie entière et une partie décimale. Cet exemple utilisera le nombre 85 125. Vous pouvez séparer cela en un nombre entier 85 et le nombre décimal 0,125.
- 3Convertissez le nombre entier en binaire. Ce serait le 85 de 85 125, qui sera 1010101 une fois converti en binaire.
- 4Convertissez la partie décimale en binaire. Ce serait le 0,125 de 85 125, qui sera de 0,001 une fois converti en binaire.
- 5Combinez les deux parties du nombre qui ont été converties en binaire. Par exemple, le nombre 85 en binaire est 1010101 et la partie décimale 0,125 en binaire est 0,001. Lorsque vous les combinez à l'aide d'un point décimal, vous obtenez 1010101,001 comme réponse finale.
- 6Convertissez le nombre binaire en notation scientifique base 2. Vous pouvez convertir le nombre en notation scientifique de base 2 en déplaçant le point décimal vers la gauche jusqu'à ce qu'il se trouve à droite du premier bit. Ces nombres sont normalisés, ce qui signifie que le bit de tête sera toujours 1. Comme pour l'exposant, le nombre de fois que vous avez déplacé la virgule sera votre exposant en notation scientifique de base 2.
- N'oubliez pas que déplacer la virgule vers la gauche se traduira par un exposant positif tandis que déplacer la virgule vers la droite se traduira par un exposant négatif.
- Pour notre exemple, vous devrez déplacer la décimale 6 fois afin de la placer à droite du premier bit. La notation résultante sera 01,010101001∗26{\displaystyle 01,010101001*2^{6}} , ce numéro sera utilisé dans les étapes futures.
- 7Déterminez le signe du nombre et affichez-le au format binaire. Vous allez maintenant déterminer si votre nombre d'origine est positif ou négatif. Si le nombre est positif, vous enregistrerez ce bit comme 0, et s'il est négatif, vous enregistrerez ce bit comme 1. Puisque votre nombre d'origine, 85 125, est positif, vous enregistrerez ce bit comme 0. Ce sera le premier bit sur les 32 bits au total dans votre représentation simple précision IEEE 754.
- 8Obtenez l'exposant basé sur la précision. Il existe des biais définis pour la simple et la double précision. Le biais d'exposant pour la simple précision est de 127, ce qui signifie que nous devons y ajouter l'exposant de base 2 trouvé précédemment. Ainsi, l'exposant que vous utiliserez est 127+6 qui est 133.
- La double précision telle que perçue à partir du nom est plus précise et peut contenir des nombres plus importants. Par conséquent, son biais d'exposant est de 1023. Les mêmes étapes que celles utilisées pour la simple précision s'appliquent ici, donc l'exposant que vous pouvez utiliser pour trouver la double précision est 1029.
- 9Transformez l'exposant en binaire. Après avoir déterminé votre exposant final, vous devrez le convertir en binaire afin qu'il puisse être utilisé dans la conversion IEEE 754. Pour l'exemple, vous pouvez convertir les 133 que vous avez trouvés à la dernière étape en 10000101.
- 10Déterminer la mantisse. L'aspect mantisse, ou la troisième partie de la conversion IEEE 754, est le reste du nombre après la décimale de la notation scientifique en base 2. Vous allez simplement déposer le 1 devant et copier la partie décimale du nombre qui est multiplié par 2. Aucune conversion binaire nécessaire! Pour l'exemple, la mantisse serait 010101001 de 01,010101001∗26{\displaystyle 01,010101001*2^{6}} .
- 11Compilez 3 parties en un numéro final.
- Enfin, vous compilerez tout ce que nous avons calculé jusqu'à présent dans votre conversion. Il commencera d'abord par un bit 0 ou 1 que vous avez déterminé à l'étape 7 en fonction du signe. Pour l'exemple, vous aurez un 0 pour le démarrer.
- Ensuite, vous aurez la section d'exposant que vous avez déterminée à l'étape 9. Pour l'exemple, votre exposant sera 10000101.
- Maintenant, vous avez la mantisse, qui est la troisième et dernière partie de la conversion. Vous l'avez déduit plus tôt lorsque vous avez pris la partie décimale de la conversion en base 2. Pour l'exemple, la mantisse serait 010101001.
- Enfin, vous combinez tout cela. L'ordre doit aller signe-exposant-mantisse. Après avoir connecté ces trois nombres binaires, vous remplissez ensuite le reste de la mantisse avec des 0.
- Pour l'exemple, la solution est 0 10000101 010101001000000000000000 comme 85125 converti au format IEEE 754.
Lisez aussi: Comment calculer les gallons?