correction Td 2 SEMLALIA VACATAIRE
correction Td 2 SEMLALIA VACATAIRE
correction Td 2 SEMLALIA VACATAIRE
Série des TD N° 2
Exercice 1 :
1. Convertir les nombres fractionnaires suivants vers les bases indiquées.
a)
(1011,0011)2 vers la base dix. d)
(10,5625)10 vers la base deux.
b)
(7,7)8 vers la base dix. e)
(10,5625)10 vers la base seize.
c)
(4B,CC)16 vers la base dix. f)
(10,5625)10 vers la base huit
On divise la partie entière par 2 et on note les restes jusqu'à ce que le quotient devienne 0.
En lisant les restes de bas en haut, la partie entière 1010 en base 2 est 10102
Université Cadi Ayyad
Faculté des Sciences
Département d’informatique
On multiplie la partie fractionnaire par 2 jusqu'à ce que le résultat soit égal à 1 ou que l'on
atteigne une précision suffisante.
En lisant les parties entières obtenues, la partie fractionnaire 0,562510 en base 2 est 0,10012
10,562510 = 1010,10012
f) (10,5625)_10 vers la base huit:
En lisant les parties entières obtenues, la partie fractionnaire 0,562510 en base 8 est 0,448
Étape 3 : Assemblage des deux parties
En combinant la partie entière et la partie fractionnaire, on obtient :
10,562510=12,448
Exercice : 2
1. Représenter les nombres suivants (représentées en décimal) en standard IEEE 754
simple précision. Donner le résultat en hexadécimal.
a) 8,625 b) 10,50 c) -0,75
a) 8,625
Partie entière : 8 => 1000
Partie décimale : 0,625 => 0,101
8,62510 => 1000,1012
Normalisation IEEE 754 : <=> 1,0001010 x 23 (de la forme 1,xxxx où xxxx = mantisse)
Décomposition du nombre en ses divers éléments :
Bit de signe : 0 (Nombre >0)
Exposant sur 8 bits biaisé à 127 => 3 + 127 = 130 => 10000010
Mantisse sur 23 bits : 0001010 00000000 00000000 (remplir le reste avec des zéros à droite)
0 10000010 00010100000000000000000
2. Convertir les valeurs suivantes (représentées en décimal) en standard IEEE 754 Simple
précision. Donner le résultat en binaire.
a) 128 b) -32,75 c) 18,125 d) 0,0625
a) 12810 0100 0110 000 0000 0000 0000 0000 00002 86 00 00 0016
b) -32,7510 1100 0010 0000 0011 0000 0000 0000 00002 C2 03 00 0016
c) 18,12510 0100 0001 1001 0001 0000 0000 0000 00002 41 91 00 0016
d) 0,062510 0011 1101 1000 0000 0000 0000 0000 00002 3D 80 00 0016
3. Quelles sont les valeurs des nombres suivant représentés en virgule flottant en standard
IEEE 754 simple précision :
a) 1011 1101 0100 0000 0000 0000 0000 0000
b) 0101 0101 0110 0000 0000 0000 0000 0000
c) 1100 0001 1111 0000 0000 0000 0000 0000
d) 0011 1010 1000 0000 0000 0000 0000 0000
Exercice : 3
1. Décoder la séquence de bit 43 4C 45 2D 49 4E 46 4F 52 4D 41 54 49 51 55 4516 si cette
séquence est considérée comme une chaîne de caractères ASCII 7 bits ?
Nous séparons les bits en groupes de 7 (car ASCII est un code sur 7 bits) :
1010011 = S, 1101111 = o, 1110101 = u, 1101101 = m, 1101001 = i, 1100001 = a.
Donc la séquence correspond à 'Soumia'.
3. Coder vos noms et prénoms sous forme hexadécimal, décimal et binaire en ASCII.
Exercice : 4
1. Représentez ces deux nombres en binaire sur 8 bits en utilisant le complément à 2 pour le
nombre négatif.
2. Effectuez l'addition de ces deux nombres en binaire.
3. Effectuez la soustraction de 37 - (-58) en utilisant le complément à 2.
4. Vérifiez s'il y a un débordement lors de l'addition et de la soustraction.
Université Cadi Ayyad
Faculté des Sciences
Département d’informatique
- 37 en binaire :
1. Convertissons 37 en binaire : 37 en décimal = 100101 en binaire.
2. Pour l'étendre sur 8 bits, on ajoute des zéros à gauche : 37 = 00100101.
- -58 en complément à 2 :
1. Convertissons 58 en binaire : 58 en décimal = 111010 en binaire.
2. Étendons à 8 bits : 58 = 00111010.
3. Inversion des bits pour obtenir le complément à 1 : Complément à 1 de 00111010 = 11000101.
4. Ajoutons 1 pour obtenir le complément à 2 : 11000101 + 1 = 11000110.
Donc, -58 = 11000110 en complément à 2 sur 8 bits.
Nous avons maintenant les deux nombres représentés en complément à 2 sur 8 bits :
- 37 = 00100101
- -58 = 11000110
Interprétation :
Le bit de signe (le bit le plus à gauche) est 1, ce qui signifie que le résultat est un nombre négatif.
Pour convertir ce nombre en décimal :
1. Complément à 1 de 11101011 = 00010100.
2. Ajout de 1 pour obtenir le complément à 2 : 00010100 + 1 = 00010101.
Soustraire un nombre négatif est équivalent à ajouter son opposé. Ainsi, 37 - (-58) revient à faire 37
+ 58.
Additionnons-les :
00100101 (37)
+ 00111010 (58)
-------------
01011111
Le résultat est 01011111, qui est un nombre positif (le bit de signe est 0).
4. Détection de débordement