S'entraîner sur les flottants...
Méthode isclose()
Question
Décomposition d'un nombre décimal écrit en base 10
Question
Décomposer ces nombres décimaux :
54598,2345
1,9546
À propos des différentes écritures...
On n'oubliera pas de parcourir le cours qui précise les différents méthodes.
Question
Écrire en base 10 les nombres réels binaires suivants :
(1010,111010)2
(11100,0011110)2
Question
Écrire en base 2 les nombres réels décimaux suivants :
(5,625)10
(8643,5712)10
Dans le cas d'un nombre binaire avec une écriture infinie, calculer sur 12 bits après la virgule et donner une valeur approchée trouvée.
Écriture de flottants
Question
Faire la liste des flottants en imposant p = 3 et e = 1
Indice
On dira d'abord quelles sont les mantisses possibles... en se rappelant que la mantisse est un nombre à p chiffres, avec exactement un chiffre (non nul) avant la virgule
Question
Quel nombre décimal est représenté par le mot de 64 bits suivant ?
0 10001000110 1010110110000000000000000000000000000000000000000000
Question
Quel nombre décimal est représenté par le mot de 32 bits suivant ?
1 10000110 10101101100000000000000
Indice
Tout est dans le cours...
Question
Représenter le nombre réel -10.125 au format simple précision selon la norme IEEE 754
Indice
La méthode est détaillé dans le cours. De plus, n'oubliez pas qu'il faut décaler l'exposant de 127 en simple précision.
Solution
Soit le nombre "-10,125" en base 10 représentons-le au format simple précision :
Nous avons (10)10 = (1010)2 et (0,125)10 = (0,001)2 soit (10,125)10 = (1010,001)2
Décalons la virgule : 1010,001 = 1,010001.23, soit avec le décalage de l'exposant (en simple précision c'est un ajout de 127) 1,010001.2130, en écrivant l'exposant en base 2, nous obtenons 1,010001.210000010
Nous avons donc :
notre bit de signe = 1 (nombre négatif),
nos 8 bits d'exposant = 10000010
et nos 23 bits de mantisse = 01000100000000000000000
Soit en "collant" tous les "morceaux" : 1 10000010 01000100000000000000000
Remarque :
Cette écriture étant un peu pénible, il est possible d'écrire ce nombre en hexadécimal : C1220000