TP flottants : correction
1. On obtient le résultat énigmatique : 5.551115123125783e-17 .
2. En utilisant la formule pour la somme des termes d’une suite géométrique :
<0,000110011001100... >2= 24+ 25+ 28+ 29+... =
X
k=1
24k+
X
k=1
24k1
=
X
k=1
24k+1
2
X
k=1
24k=3
2×24×
1
124=1
10
3. D’après la question précédente, la notation scientifique en base 2 de 0,1 est :
<1,100110011001... >2×24
4. Si kN, le 4k+ 1ème chiffre après la virgule de <1,100110011001... >2est un 1 ainsi
que le 4k+ 4ème. Les autres sont des 0. Comme 52 = 13 ×4, le 52ème chiffre est un 1 et
le 53ème également. Donc le 52ème chiffre est arrondi au supérieur et 0.1 est représenté
par :
<1,10011001...10011010
| {z }
52
>2×24
5. la notation scientifique en base 2 de 0,2 est obtenue à partir de celle de 0,1 en augmentant
l’exposant de 1 (car 0,2 = 0,1 ×2). On trouve que 0.2 est représenté par :
<1,10011001...10011010
| {z }
52
>2×23
6. <1,10011001...10011010 >2×24est mis sous la forme <0,110011001...1001101 >2
×23, puis :
<0,11001100...11001101 >2×23
+<1,10011001...10011010 >2×23
=<10,01100110...01100111 >2×23
(0110 se répète, sauf pour le dernier bit, à cause de l’arrondi)
Enfin, le dernier résultat est mis sous forme scientifique en arrondissant :
<1,00110011...00110100
| {z }
52
>2×22
1
7. En utilisant l’algorithme du cours pour passer un flottant en base 2, on trouve :
0,3 = <0,0100110011... >2
(où 0011 se répète infiniment)
On trouve alors que sa représentation dans python est :
<1,00110011...00110011
| {z }
52
>2×22
8. En posant la soustraction :
<1,00110011...00110100 >2×22
<1,00110011...00110011 >2×22
=<0,00000000...00000001
| {z }
52
>2×22
= 1 ×254
Vérifions dans python :
On retrouve bien le résultat de la question 1 !
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !