Exercices#
Pour les exercices on donne le tableau de puissances de 2 suivant:
\(2^{1}\) |
\(2^{0}\) |
\(2^{-1}\) |
\(2^{-2}\) |
\(2^{-3}\) |
\(2^{-4}\) |
\(2^{-5}\) |
\(2^{-6}\) |
\(2^{-7}\) |
\(2^{-8}\) |
\(2\) |
\(1\) |
\(0,5\) |
\(0,25\) |
\(0,125\) |
\(0,0625\) |
\(0,03125\) |
\(0,015625\) |
\(0,0078125\) |
\(0,00390625\) |
Exercice 1#
Les nombres binaires sont à virgule fixe.
Donner la valeur en écriture décimale des nombres :
\(111,1\)
\(10000000,00000001\)
\(0,111\)
Donner l’écriture en virgule flottante des nombres précédents.
Exercice 2#
On donne une méthode pour convertir un nombre en écriture décimale en écriture binaire avec une virgule fixe.
On convertit la partie entière (avant la virgule) comme la conversion d’un entier (non signé).
Pour la partie décimale (après la virgule), on applique l’algorithme suivant:
tant que la partie décimale est différente de 0: - on multiplie par 2 la partie décimale; - le chiffre avant la virgule est la valeur du bit cherché; - on recommence avec la partie décimale du résultat calculé précédemment.
On donne un exemple pour convertir \(2,625\) en binaire.
Le nombre \(2\) se convertit \(10\) en binaire. Appliquons l’algorithme pour \(0,625\)
\(0,625 \times 2 = 1,25\) donc le premier bit après la virgule vaut 1; on recommence avec \(0,25\)
\(0,25\times 2 = 0,5\) donc le deuxième bit après la virgule vaut 0; on recommence avec \(0.5\)
\(0,5 \times 2 = 1,0\) donc le troisième bit après la virgule vaut 1; la partie décimale est 0, on arête.
Conclusion : \(2,625_{10} = 10,101_{2}\)
Donner l’écriture binaire du nombre \(5,6875_{10}\).
Donner l’écriture binaire du nombre \(-13,15625_{10}\).
Donner l’écriture binaire du nombre \(0,2_{10}\). Que remarque-t-on ?
Exercice 3#
On donne le nombre dont la représentation binaire suit la norme IEEE 754.
Quelle est la valeur décimale de ce nombre ?
Exercice 4#
On donne ci-après un algorithme de conversion d’un nombre flottant \(x\):
on convertit la partie entière de x (vu précédemment).
on soustrait la partie entière de x à x (nombre inférieur ou égal à 1)
soit d la partie décimale de x
tant que d est différent de 0:
d=d*2
si d >= 1 alors :
d=d-1
le chiffre binaire vaut 1
sinon
le chiffre binaire vaut 0
Écrire un script en Python qui affiche la représentation binaire en virgule fixe.