Académique Documents
Professionnel Documents
Culture Documents
Solution :
On commence d’abord par convertir ces nombres en binaire et les écrire sur 8 bits ensuite on
les représentent par ces trois méthodes.
+45(10) = 0 | 0101101(2)
3) 128(10) = 10000000(2)
On remarque que la valeur absolue du nombre -128 est déjà sur 8 bits donc ce
n’est pas possible de représenter le bit de signe dans ce cas. En conclusion, il est
impossible de représenter -128(10) par la méthode du SVA.
Remarque : En d’autre terme, on peut dire que les nombres possibles à représenter sur
8 bits par la méthode du SVA sont compris dans l’intervalle [-127, 127], on remarque
que -128 n’appartient pas à cet intervalle.
Université des Sciences et Technologie M. Boudiaf Structure Machine 1
Faculté des Mathématiques et Informatique
Département d’Informatique TD2 (Corrigé)
b) Complément à 1 (CP1) :
Il s’agit, dans cette méthode, d’inverser les bits du nombre binaire ( 0 devient 1 et vice
versa).
1) +45(10) est positif donc il sera représenté par le code binaire naturel,
d’où : +45(10) = 00101101(2)
3) 128(10) = 10000000(2)
-128(10) = cp1(128) = cp1(10000000) = 01111111(2) >0 (car le premier bit est égal
à zéro ce qui indique un nombre positif alors que -128 est négatif). D’où, il est
impossible de représenter -128 par la méthode du CP1.
Remarque : Par ailleurs, on sait que dans la méthode du CP1 l’intervalle des
nombres codés sur 8 bits est [-127, 127]. On remarque que le nombre -128 est en
dehors de l’intervalle ce qui explique pourquoi c’est impossible de le représenter.
c) Complément à 2 (CP2) :
Etant donné N un nombre en binaire, pour calculer son complément à 2, il suffit
d’ajouter un 1 à son complément à 1.
Donc : cp2(N) = cp1(N) + 1
Remarque : il existe d’autres méthodes pour calculer le complément à 2 mais dans ce
corrigé, on va opter pour celle-ci.
11101000(2) <0 (car son bit de poids fort est égal à 1). Il représente le complément à 2
d’un nombre négatif N et il est demandé de trouver la valeur décimale de N.
D’où : 11101000(2) = cp2(|N|)
Alors : |N| = cp2 (cp2(|N|))
= cp2(11101000)
= cp1(11101000) +1
= 00010111+1
= 00011000(2)
Maintenant, on calcule sa valeur en décimal :
7654 3210
|N| = 00011000(2) = 24+23 =16+8= 24(10)
Donc : N= -24(10)
Solution :
Etant donné que R<0 et mathématiquement nous avons N1-N2 <0 donc le résultat est
cohérent. Il reste à calculer sa valeur en décimal. Mais comme N1-N2 est négatif, il
faut d’abord calculer son complément à 2.
Cp2(R) = Cp1(R) +1
= Cp1(11111011)+1
= 00000100+1
= 00000101(2) =5(10) → R= N1-N2 = -5(10)
Solution :
On commence par convertir le nombre 127.2(10) en binaire :
127,2(10) = 1111111, 0011001(2)
bit de signe Partie entière sur 8 bits Partie fractionnaire sur 7 bits
bs PE PF
Solution :
On convertit le nombre 8,625(10) en binaire :
8,625(10) = 1000,101(2)
Université des Sciences et Technologie M. Boudiaf Structure Machine 1
Faculté des Mathématiques et Informatique
Département d’Informatique TD2 (Corrigé)
Où : M = 000101(2)
E = 3(10)
Le format de représentation des nombres en virgule flottante simple précision est sur 32 bits
organisé comme suit :
1 bit de signe (bs) Exposant décalé (sur 8 bits) Mantisse (sur 23 bits)
Donner la valeur décimale du nombre suivant, codé suivant la norme IEEE 754 et
représenté en binaire.
N = 0 01111011 00000000000000000000000
Remarque : le nombre N est codé sur 32 bits donc il est représenté en virgule flottante simple
précision.
N= 0 | 01111011| 00000000000000000000000
N = +1,00…0 × 2-4
N = 2-4(2)
Enfin nous aurons : N = 0,0625(10)
Université des Sciences et Technologie M. Boudiaf Structure Machine 1
Faculté des Mathématiques et Informatique
Département d’Informatique TD2 (Corrigé)
Solution :
Commençons d’abord par convertir -0.625(10) en binaire et l’écrire en format normalisé :
Où : M = 01(2)
E = -1(10)
Le format de représentation des nombres en virgule flottante double précision est sur 64 bits
organisé comme suit :
1 bit de signe (bs) Exposant décalé (sur 11 bits) Mantisse (sur 52 bits)
Donner la valeur décimale du nombre suivant, codé suivant la norme IEEE 754 et
représenté en Hexadécimal.
N= C00F000000000000(16) = 110000000000111100000…0(2)
Remarque : le nombre N est codé sur 64 bits donc il est représenté en virgule flottante double
précision.
N= 1 | 10000000000 | 111100000…0
N = -1,111100…0 × 21
N = -11,111(2)
Enfin nous aurons : N = -3,875(10)