Académique Documents
Professionnel Documents
Culture Documents
Corrigé TD N°2
Exercice 1
Soit un ordinateur qui représente les données sur 8 bits
1. Compléter le tableau suivant
Binaire signé
Complément à 1
Complément à 2
Page 1 / 10
• On ajoute 1 : 1111 1101
+ 0000 0001
= 1111 1110 correspond à – 2 en Cà2
Décimal
Binaire pur 00011001 25
10010111 151
Binaire signé 01100100 +100
11000111 -71
Complément à 1 00001111 +15
11000111 -56
Complément à 2 01101101 +109
11001001 -55
Binaire pur
• 0001 1001 est un nombre positif dont la valeur décimale est 25
• 1001 0111est un nombre positif dont la valeur décimale est 151
Binaire signé
• 01100100 est un nombre positif dont la valeur décimale est 26 +25+22 = 100
• 11000111 est un nombre négatif alors
(11000111)BS=-(01000111)2=-(26 +22+21+20)10 =-(71)10
Complément à 1
1ère Méthode
2ème Méthode
Complément à 2
• 0110 1101 est un nombre positif dont la valeur décimale est 109
• 11001001 est un nombre négatif alors
1ère Méthode
2ème Méthode
Page 2 / 10
(11001001)Cà2= - (not (11001001) +1)2 = - (00110110 + 1)2 = - (00110110)2= - (32 +16+ 4 + 2 + 1)= - (55)10
Exercice 2
1. Donner en décimal l’intervalle [min, max] qu’on peut représenter pour chaque cas
La représentation circulaire du codage en binaire pur d’un nombre non signé compris entre 0 et 7
est :
Rqs :
Cà1 et BS
Cà2
• 1 seul zéro
• Position symétrique des nombres positifs et négatifs par rapport au zéro
2. Combien faut-il de bits, au minimum, pour coder les nombres non signés (48965)10 et
(9965245)10 ?
48965
À partir du tableau, on déduit que la plus grande valeur d'un nombre non signé codé
sur n bits (2n - 1) doit être supérieure ou égale à 48965.
2n – 1 >= 9965245
2n>=9965246
ln (2n)>=ln(9965246)
nln(2)>=ln(9965246)
n>=ln(9965246)/ln(2)
n>=23,25 ⇨nMin= 24
2n – 1 >= 48965
2n>=48966
ln (2n)>=ln(48966)
nln(2)>=ln(48966)
Page 3 / 10
n>=ln(48966)/ln(2)
n>=15,58 ⇨ nMin = 16
(-5)
À partir du tableau, on déduit que la plus petite valeur d'un nombre signé codé sur n bits (-2n-1)
doit être inférieure ou égale à -5.
-2n-1 <= −5
2n-1 >=5
ln(2n-1) >=ln (5)
(n−1) ln(2)>=ln(5)
n−1>=ln (5)/ln (2)
n>= ln (5)/ln (2)-1
n>=3,33 ⇨ nMin = 4
(+28)
À partir du tableau, on déduit que la plus grande valeur d'un nombre signé codé sur n bits (2n-1 -1)
doit être supérieure ou égale à 28.
2n-1 -1>=28
2n-1 >=29
ln(2n-1)>=ln (29)
(n−1)ln(2)>=ln(29)
n−1>= ln(29)/ln (2)
n>= ln(29)/ln (2)-1
n>=5,86 ⇨nMin = 6
Exercice 3
Effectuer les opérations suivantes en complément à deux sur 4 bits pour la partie entière et 2
bits pour la partie fractionnaire. Préciser, pour chaque opération, la retenue et le débordement,
en justifiant la réponse.
Exercice 4
1. Lorsque n = 8, donner les valeurs binaires des nombres suivants et de leurs opposés :
(3) 10, (127) 10, (63) 10.
2. Lorsque n = 8, effectuer en binaire les opérations (51) 10+(127) 10, (−3) 10 + (−127) 10,
(−127) 10+(127) 10, (−63) 10 + (−63) 10. Préciser, pour chaque opération, la retenue et le
débordement.
Page 4 / 10
3. Lorsque n = 12 représenter 497 et -123 en complément à 2 sur 12 bits.
4. Quelle est la valeur décimale de 101010001 s'il s'agit de la représentation à 2 d'un
nombre entier sur 9 bits de position ?
Correction.
On utilise la représentation en complément à 2, sur n bits.
1. Lorsque n = 8, donner les valeurs binaires des nombres suivants et de leurs opposés :
(3)10, (127)10, (63)10, (51)10.
Décimal Binaire pur Binaire signé Binaire C à 1 Binaire C à 2
3 00000011 (+3) 00000011 00000011 00000011
(-3) 10000011 11111100 11111101
127 01111111 (+127) 01111111 01111111 01111111
(-127) 11111111 10000000 10000001
63 00111111 (-63) 00111111 00111111 00111111
(-63) 10111111 11000000 11000001
51 00110011 (+51) 00110011 00110011 00110011
(-51) 10110011 11001100 11001101
Exercice 5
Correction
Effectuer les opérations d’addition suivantes en complément à 2 sur un octet, en précisant que
les résultats sont vrais ou faux. Justifier les réponses.
a) 10101101 (-83)
+
11110010 (-14)
Page 5 / 10
= 10011111 (-97)
On peut vérifier le résultat en cherchant les équivalents en décimal. Comme les nombres sont
en Cà 2, il faut les convertir en binaire signé avant de chercher leurs équivalent en décimal.
Le résultat est juste.
b) 10101110
+
10111110
= 01101100
La somme de deux nombres négatif doit donner un nombre négatif alors qu’on a obtenu un
nombre positif, donc le résultat est faux.
c) 01101101
+
01111011
11101000
La somme de deux nombres positif doit donner un nombre positif alors qu’on a obtenu un
nombre négatif, donc le résultat est faux.
d) 00100011 (+35)
+
01010111 (+87)
01111010 (+122)
Le résultat est juste
e) 01101111 (+111)
+
11111111 (-1)
= 01101110 (+ 110)
Le résultat est juste : la somme de deux nombres de signe opposé ou bien en cherchant les
équivalents en décimal.
Exercice 6
Page 6 / 10
• Conversion de 0; 48, partie décimale sur 6 bits :
0; 48 x 2 = 0; 96 0
0; 96 x 2 = 1; 92 1
0; 92 x 2 = 1; 84 1
0; 84 x 2 = 1; 68 1
0; 68 x 2 = 1; 36 1
0; 36 x 2 = 0; 72 0
Partie décimale :
0; 62 x 2 = 1; 24 1
0; 24 x 2 = 0; 48 0
0; 48 x 2 = 0; 96 0
0; 96 x 2 = 1; 92 1
0; 92 x 2 = 1; 84 1
0; 84 x 2 = 1; 68 1
0; 68 x 2 = 1; 36 1
0; 36 x 2 = 0; 72 0
0, 62 s'écrit (0, 10011110)2.
Page 7 / 10
• Conversion d'un nombre fractionnaire N de la base 3 vers la base 10
Il suffit de multiplier chaque digit du nombre N par la puissance de 3correspondante.
b) (102, 221)3 =1x32 + 0x31 +2x30 +2x3-1 +2x3-2 +1x3-3 (11, 92592593)10
Correction
Partie fractionnaire
Pour convertir la partie fractionnaire (0, 0625)10, on fait comme suit :
0, 0625x2 = 0, 125 donc a-1= 0
0,125x2 = 0, 25 donc a-2= 0
0,25x2 = 0, 5 donc a-3 = 0
0,5x2 = 1, 0donc a-4= 1 on arrête.
Partie décimale
0, 23046875 x16 = 3, 6875, on conserve a-1 = 3, et oncontinue avec 0,6875
0, 6875x16 = 11,0, on arrête et on conserve a-2 =(11)10 = (B)16.
On a donc (110, 23046875)10 = (6E, 3B)16
Partie entière
(55)10 = (210)5
Partie décimale
0, 616x5 = 3, 08 donc a-1= 3
0, 08 x5 = 0, 4 donc a-2= 0
Page 8 / 10
0,4x5 = 2, 0 donc a-3= 2
Exercice 7
1) Convertir les nombres réels +12.06640625 et -0.2734375 dans le format IEEE 754 en simple
précision puis en double précision.
Page 9 / 10
(403D 4800 0000 0000)16 = (0100 0000 0011 1101 0100 1000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000)2
A= +(1,110101001) x 2Er
Eb = 100 0000 0011 = 1027
Er = 1027 – 1024 = 4
A= +(1,110101001) x 24
A= +(11101,01001)2
A= +29,28125
(C040 0000 0000 0000)16 = (1100 0000 0100 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000)2
B=-(1,0) x 2Er
Eb = 100 0000 0100 = 1028
Er = 1028 -1023 = 5
B=-(1,0) x 25 = -32
Exercice 8
Soient les deux nombres codés suivant la norme IEEE 754 et représentés en hexadécimal :
3EE0 0000 et 3D80 0000.
Calculez la somme des deux nombres et donnez le résultat sous forme IEEE 754 et sous forme
décimale.
Hexadécimal 3 E E 0 0 0 0 0
Binaire 0011 1110 1110 0000 0000 0000 0000 0000
Eb= 0111 1101 = 125
Er = 125 – 127 = -2
+1,11)2 x 2-2 = +0,4375)10
Hexadécimal 3 D 8 0 0 0 0 0
Binaire 0011 1101 1000 0000 0000 0000 0000 0000
Eb= 0111 1011 =123
Er = 123 – 127 = -4
+1,0)2 x 2-4 =+ 0,0625)10
Alors la somme en binaire (+1,11)2 x 2-2 + (+1,0)2 x 2-4= +(1,11 x 2-2 + 0,01 x 2-2 ) = +10,0 x 2-2
=+1,0 x 2-1
= +0,5)10 (décimal)
Le résultat codé en IEEE 754 simple précision
SM = 0
Eb = Er + biais = -1 + 127 = 126 = 0111 1110
Page 10 / 10