Exo Floats

Identification

Infoforall

3 - Exercices Floats


Vous devez rendre le sujet sur papier cette fois.

Attention, le soin est noté et les codes markdown identiques seront sanctionnés à moins de noter clairement que vous avez travaillé avec un autre élève de la classe.

Le but est de consolider les notions de base.

01° Exprimer N = 11,0101 2 en base 10.

02° Exprimer N = 101,101 2 en base 10.

03° En cherchant à activer progressivement les bits de poids forts progressivement, trouver la décomposition de N = 0.625 10 en base 2.

Voici maintenant un exemple de décomposition d'un float sous le format simple precision.

Voici le contenu mémoire :

1  1100 1001 1110 0000 0000 1000 0000 000 

Signe

Le premier bit est  1 . Le nombre est donc négatif.

Exposant

Les 8 bits suivants sont :  1100 1001 .

On lit donc l'entier D = 128+64+0+0+8+0+0+1 = 201

On en déduit (simple precision) que l'exposant est E = 201 -127 = 74

On a donc  2 74 .

Mantisse

Les 23 bits encodant la mantisse sont 1110 0000 0000 1000 0000 000 

Si on veut la mantisse, il faut donc rajouter le  1,  juste avant les bits stockés.

La mantisse réelle est donc m =  1, 1110 0000 0000 1000 0000 000 2

En base 10, on obtient m = 1 + 0.5 + 0.25 + 0.125 + 2-13 = 1.8751220703125 10.

Au final

Le nombre est donc N = - 1.8751220703125 x 274

On sort la calculatrice ou on utilise le Shell Python.

- 1.8751220703125 * 2 **74

On obtient alors N = - 3.5420054464531553 x 10 22, la calculatrice exprimant le nombre en puissance de 10 plutôt qu'en puissance de 2.

04° Trouver le nombre flottant encodé par la suite des 32 bits suivants :

Voici le contenu mémoire :

0  1000 0000 0110 0000 0000 0000 0000 000 

Activité publiée le 15 09 2020
Dernière modification : 15 09 2020
Auteur : ows. h.