Entrainement virgule flottante
Principe de la virgule flottante
Exercice : flottant vers décimal
Que vaut \((s=1_2; n=1110_2; m=1,0001_2)_{\mathtt{FP}}\) en décimal ?
Calculez les valeurs de \(s\), \(n\) et \(m\) en base 10, puis appliquez la formule du cours.
On applique la formule s \times m \times 2 ^{n}
Exercice : conversion décimal vers flottant base 2
Déterminez \((s, m, n)_{\mathtt{FP}}\) pour représenter \(0,09375_{10}\) en virgule flottante.
N'oubliez pas de regarder le cours pour la méthode !
On commence par convertir \(0,09375_{10}\) en sa représentation base 2.
La partie entière de 0,09375_{10} est 0, sa conversion est donc triviale.
On convertis la partie fractionnaire.
\(p\) | \(q = 2p\) | \(q \geq 1\) ? | \(q - 1\) | \(b\) |
---|---|---|---|---|
\(0,09375\) | \(0,1875\) | non | - | \(0\) |
\(0,1875\) | \(0,375\) | non | - | \(0\) |
\(0,375\) | \(0,75\) | non | - | \(0\) |
\(0,75\) | \(1,5\) | oui | \(0,5\) | \(1\) |
\(0,5\) | \(1\) | oui | \(0\) | \(1\) |
\(0\) | stop | - | - | - |
La partie fractionnaire est donc \(0,09375_{10} = 0,00011_{2}\)
Donc \(0,09375_{10} = 0,00011_{2}\)
Déterminons la mantisse et l'exposant. Pour former la mantisse avec exactement un 1 dans la partie entière il faut décaler la virgule vers la droite 4 fois : \(0,00011_2 \rightarrow 00001,1_2\). L'exposant est donc \(-4\), et \(m=1,1_2\).
On convertis l'exposant en base 2 : \(-4_{10} = -100_2\)
Le nombre est positif, donc \(s=1\)
Donc :