0% ont trouvé ce document utile (0 vote)
128 vues15 pages

Conversion Binaire et IEEE-754 en 8 Bits

Le document présente la résolution de trois problèmes liés à la représentation des nombres en binaire. Le premier problème consiste à exprimer des entiers signés en complément à 2 et en représentation par excès. Le deuxième problème concerne la traduction de nombres binaires en décimal selon différentes représentations. Le troisième problème porte sur la conversion de nombres décimaux en format IEEE-754 à virgule flottante en simple précision.

Transféré par

alex mikombe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
128 vues15 pages

Conversion Binaire et IEEE-754 en 8 Bits

Le document présente la résolution de trois problèmes liés à la représentation des nombres en binaire. Le premier problème consiste à exprimer des entiers signés en complément à 2 et en représentation par excès. Le deuxième problème concerne la traduction de nombres binaires en décimal selon différentes représentations. Le troisième problème porte sur la conversion de nombres décimaux en format IEEE-754 à virgule flottante en simple précision.

Transféré par

alex mikombe
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

1) Exprimer les entiers signés 125, −125, 0, 175 et −100

dans une forme


binaire sur 8 bits en utilisant :
a) le complément à 2.
b) la représentation par excès (d = 2⁷)
Résolution numéro 1

a) Complément à 2 :
- Pour l'entier signé 125 :
0 * 2^0 = 0
1 * 2^1 = 2
1 * 2^2 = 4
1 * 2^3 = 8
1 * 2^4 = 16
1 * 2^5 = 32
0 * 2^6 = 0
1 * 2^7 = 128

En additionnant tous ces résultats, nous obtenons:

0 + 2 + 4 + 8 + 16 + 32 + 0 + 128 = 190
125 en binaire sur 8 bits = 01111101

- Pour l'entier signé -125 :


125 / 2 = 62 reste 1
62 / 2 = 31 reste 0
31 / 2 = 15 reste 1
15 / 2 = 7 reste 1
7 / 2 = 3 reste 1
3 / 2 = 1 reste 1
1 / 2 = 0 reste 1
Pour obtenir le complément à 2 de -125, on commence
par prendre le complément de sa valeur absolue (125)
en inversant tous les bits :
Complément de 125 en binaire sur 8 bits = 10000010
Ensuite, on ajoute 1 au résultat obtenu pour obtenir le
complément à 2 :
Complément à 2 de -125 en binaire sur 8 bits =
10000011
- Pour l'entier signé 0,175 :
175 en binaire sur 8 bits = 10101111
0,175 * 2 = 0,35 --> premier bit binaire = 0
0,35 * 2 = 0,7 --> deuxième bit binaire = 0
0,7 * 2 = 1,4 --> troisième bit binaire = 1
0,4 * 2 = 0,8 --> quatrième bit binaire = 0
0,8 * 2 = 1,6 --> cinquième bit binaire = 1
0,6 * 2 = 1,2 --> sixième bit binaire = 1
0,2 * 2 = 0,4 --> septième bit binaire = 0
0,4 * 2 = 0,8 --> huitième bit binaire = 0

En lisant les bits de haut en bas, nous obtenons la


représentation binaire de 0,175 sur 8 bits: 01101100.

- Pour l'entier signé -100 :


Pour obtenir le complément à 2 de -100, on commence
par prendre le complément de sa valeur absolue (100)
en inversant tous les bits :
Complément de 100 en binaire sur 8 bits = 01100100
Ensuite, on ajoute 1 au résultat obtenu pour obtenir le
complément à 2 :
Complément à 2 de -100 en binaire sur 8 bits
=01100101

b) Représentation par excès (d=2^7):


- Pour l'entier signé positif ou nul, la représentation est
identique à celle du complément à deux.

- Pour l'entier signé négatif, on ajoute d (ici d=128) à la


valeur absolue de cet entier et on représente le résultat
en binaire sur 8 bits.
- Pour l'entier signé 125 :
125 en binaire sur 8 bits = 01111101

- Pour l'entier signé -125 :


-125 + 128 = 3
3 en binaire sur 8 bits = 00000011

- Pour l'entier signé 0 :


0 en binaire sur 8 bits = 00000000

- Pour l'entier signé 175 :


175 en binaire sur 8 bits = 10101111
- Pour l'entier signé -100 :
-100 + 128 = 28
28 en binaire sur 8 bits =00011100

2) Traduire les nombres binaires 0000 0011, 1000 0001


et 1111 1111 dans la forme décimale selon que la
représentation utilisée est :
a) la représentation binaire classique
b) le complément à 2
c) la représentation par excès (d= 2^7)

Résolution numéro 2

a) Pour la représentation binaire classique, les nombres


binaires se traduisent en décimal en utilisant la formule
suivante :

Nombre décimal = (bit1 * 2^7) + (bit2 * 2^6) + (bit3 *


2^5) + (bit4 * 2^4) + (bit5 * 2^3) + (bit6 * 2^2) + (bit7 *
2^1) + (bit8 * 2^0)
Pour le nombre binaire 0000 0011 :
Nombre décimal = (0 * 2^7) + (0 * 2^6) + (0 * 2^5) + (0 *
2^4) + (0 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0)
=0+0+0+0+0+0+2+1
=3

Pour le nombre binaire 1000 0001 :


Nombre décimal = (1 * 2^7) + (0 * 2^6) + (0 * 2^5) + (0 *
2^4) + (0 * 2^3) + (0 * 2^2) + (0 * 2^1) + (1 * 2^0)
= -128 + 0 + 0 + 0 + 0 + 0 + 0 + 1
= 127

Pour le nombre binaire 1111 1111 :


Nombre décimal = (1 * 2^7) + (1 * 2^6) + (1 * 2^5) + (1 *
2^4) + (1 * 2^3) + (1 * 2^2) + (1 * 2^1) + (1 * 2^0)
= -128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= -1

b) Pour la représentation en complément à 2, les


nombres binaires se traduisent en décimal en utilisant la
formule suivante :

Si le bit le plus à gauche est 0, le nombre décimal est


égal à la représentation binaire classique.
Si le bit le plus à gauche est 1, le nombre décimal est
égal à la représentation binaire classique moins 2^n, où
n est le nombre de bits.

Pour le nombre binaire 0000 0011 :


Nombre décimal = (0 * 2^7) + (0 * 2^6) + (0 * 2^5) + (0 *
2^4) + (0 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0)
=0+0+0+0+0+0+2+1
=3
Nombre décimal = 3

Pour le nombre binaire 1000 0001 :


On inverse (0111 1110)
On ajoute 1 (0111 1111)
Nombre décimal = (-0 * 2^7) - (1 * 2^6) - (1 * 2^5) - (1 *
2^4) - (1 * 2^3) - (1 * 2^2) - ( 1* 2^1) - (1 *2^0)
= - 64 - 32 - 16 - 8 - 4 - 2 - 1
= -127

Pour le nombre binaire 1111 1111 :


On inverse 0000 0000
On ajoute 1 (0000 0001)
Nombre décimal = - (0 * 2^7) + (0 * 2^6) + (0 * 2^5) + (0
* 2^4) + (0 * 2^3) + (0 * 2^2) + (0 * 2^1) + (1 * 2^0)
= -1 *2^0
= -1

c) Pour la représentation par excès (d=2^7), les


nombres binaires se traduisent en décimal en utilisant la
formule suivante :
Nombre décimal = Nombre binaire - d

Pour le nombre binaire 0000 0011 :


Nombre décimal = 3 - 2^7
= 3 - 128
= -125

Pour le nombre binaire 1000 0001 :


Nombre décimal = -127 - 2^7
= -127 - 128
= -255

Pour le nombre binaire 1111 1111 :


Nombre décimal = -1 - 2^7
= -1 - 128
= -129

3) Convertir les nombres suivants en simple précision


IEEE-754.
a) − 52,234 375
b) 7112,0
c) 16,2

Résolution numéro 3

a) Pour convertir -52,234375 en simple précision IEEE-


754, nous devons suivre les étapes suivantes :

1. Convertir le nombre en binaire :


- La partie entière de -52 est 52, qui peut être
convertie en binaire comme suit : 110100
- La partie décimale de 0,234375 peut être convertie
en binaire en multipliant par 2 successivement :
0,234375 * 2 = 0,46875 => 0
0,46875 * 2 = 0,9375 => 0
0,9375 * 2 = 1,875 => 1
0,875 * 2 = 1,75 => 1
0,75 * 2 = 1,5 => 1
0,5 * 2 = 1 => 1

Donc, la partie décimale de -52,234375 en binaire


est : 00111101011100000000000

2. Déterminer le signe :
- Comme le nombre est négatif, le signe sera 1.

3. Normaliser le nombre :
- Le nombre normalisé sera :
1.10100011110000000000000 * 10^5
4. Calculer l'exposant :
- L'exposant est le nombre de décalages à effectuer
pour placer la virgule après le premier chiffre significatif.
- Dans ce cas, l'exposant sera 5.
5. Convertir l'exposant en binaire :
- L'exposant + le décalage de l'exposant (127) sera
converti en binaire : 5 + 127 = 132 = 10000100
6. Convertir la partie significative :
- La partie significative est
10100011110000000000000.
7. Combiner les signes, l'exposant et la partie
significative :
- La représentation en simple précision IEEE-754 de -
52,234375 sera : 1 10000100
10100011110000000000000

b) Pour convertir 7112,0 en simple précision IEEE-754,


nous devons suivre les mêmes étapes que
précédemment :
1. Convertir le nombre en binaire :
- La partie entière de 7112 est 7112, qui peut être
convertie en binaire comme suit : 1101111001000
- La partie décimale est nulle.
2. Déterminer le signe :
- Comme le nombre est positif, le signe sera 0.
3. Normaliser le nombre :
- Le nombre normalisé sera : 1.101111001000 * 10^12
4. Calculer l'exposant :
- L'exposant sera 12.
5. Convertir l'exposant en binaire :
- L'exposant + le décalage de l'exposant (127) sera
converti en binaire : 12 + 127 = 139 = 10001011
6. Convertir la partie significative :
- La partie significative est 101111001000.
7. Combiner les signes, l'exposant et la partie
significative :
- La représentation en simple précision IEEE-754 de
7112,0 sera : 0 10001011 10111100100000000000000

c) Pour convertir 16,2 en simple précision IEEE-754,


nous devons suivre les mêmes étapes que
précédemment :

1. Convertir le nombre en binaire :


- La partie entière de 16 est 16, qui peut être convertie
en binaire comme suit : 10000
- La partie décimale de 0,2 peut être convertie en
binaire en multipliant par 2 successivement :
0,2 * 2 = 0,4 => 0
0,4 * 2 = 0,8 => 0
0,8 * 2 = 1,6 => 1
0,6 * 2 = 1,2 => 1
0,2 * 2 = 0,4 => 0
...
La partie décimale se répète indéfiniment.

Donc, la partie décimale de 16,2 en binaire est :


001100110011001100110011...
2. Déterminer le signe :
- Comme le nombre est positif, le signe sera 0.
3. Normaliser le nombre :
- Le nombre normalisé sera :
1.100110011001100110011... * 10^4
4. Calculer l'exposant :
- L'exposant sera 4.
5. Convertir l'exposant en binaire :
- L'exposant + le décalage de l'exposant (127) sera
converti en binaire : 4 + 127 = 131 = 10000011
6. Convertir la partie significative :
- La partie significative est 100110011001100110011...
7. Combiner les signes, l'exposant et la partie
significative :
- La représentation en simple précision IEEE-754 de
16,2 sera : 0 10000011 100110011001100110011...

Vous aimerez peut-être aussi