Vous êtes sur la page 1sur 3

ARCHITECTURE DES ORDINATEURS

TD 2

1 bit (chiffre binaire)= 0 ou 1 1 Ko/KB = 103 octets ' 1 KiB = 210 octets = 1024 octets
1 octet (byte)= 8 bits 1 Mo/MB = 106 octets ' 1 MiB = 220 octets = 1024 Ko
1 mot = 2, 4 ou 8 octets 1 Go/GB = 109 octets ' 1 GiB = 230 octets = 1024 Mo
Exercice 0.1. Capacités
1. Jusqu’`a combien peut-on compter sur les doigts d’une main?
2. Quel est le plus grand entier que l’on peut coder sur 8 bits? 32 bits?
3. Donner un ordre de grandeur du nombre de bits contenus dans un fichier MP3 (∼ 3 Mo).
4. Quelle est la capacité en bits d’un DVD (∼ 4,7 Go)?

1 Codage des entiers


Exercice 1.1. On s’intéresse à des entiers codés sur 4 bits. Que se passe-t-il lorsque l’on effectue les
opérations suivantes?
1011+1000, 0011×0110, 0101-0110

Exercice 1.2. Entiers relatifs


Il existe différentes conventions pour représenter les entiers relatifs en binaire. Nous allons étudier
deux conventions fréquemment utilisées : les valeurs signées et le complément à 2.
• Entier signé sur n bits : le bit de poids fort représente le signe (0 pour les nombres positifs et 1
pour les négatifs) et les n − 1 bits restants codent la valeur absolue du nombre.
• Complément `a deux sur n bits : les positifs son codés sur n − 1 bits. Leurs opposés sont
obtenus par complément `a 2, c’est-à -dire que l’on inverse les n bits et on ajoute 1.
1. Comment distingue-t-on les représentations binaires des entiers naturels et relatifs?
2. Donner l’intervalle des nombres représentables sur 8 bits pour chacune des conventions.
3. Quelles sont les valeurs décimales des nombres suivants?
1000000
00000000 10110001 00011110
0
signé sur 8 bits
compl. à 2 sur 8 bits
a
4. Donner les représentations binaires de +77, −77, +15 et −15 sur 8 bits, suivant les deux
conventions.

Exercice 1.3. Addition d’entiers relatifs


Lorsque que l’on additionne 2 entiers naturels sur n bits, la valeur de la somme peut nécessiter n+1
bits. Cette notion de retenue n’est plus pertinente pour les entiers relatifs dont la somme peut
“sortir” de l’intervalle des valeurs représentables sans pour autant faire “apparaître” de retenue.
Par exemple, sur 4 bits, 510 + 610 se traduit par l’addition binaire : 0101 + 0110; si on effectue la
somme, on obtient 1011 = −3 6= 1110 (en signé) : il y a dépassement de capacité (overflow). Et on
voit bien qu’il ne s’agit pas d’une retenue, puisque l’addition tient sur 4 bits!
1. Peut-on avoir un overflow en additionnant 2 nombres de même signe? de signes différents?
2. Comment faire pour additionner des nombres signés? Pour répondre `a cette question, tester
les additions suivantes sur 4 bits : 6+(-5), 5+(-6), (-5)+(-6), (-3)+(-4).
3. Et en complément à 2 (tester les mêmes additions)?
Exercice 1.3. Donnez la traduction à laquelle correspond le mot de 4 octets codé en hexadécimal
suivant : 49 55 50 31
selon qu’on le lit comme :
- un entier signé,
- un entier représenté en complément à 2,
- un nombre représenté en virgule flottante simple précision suivant la norme IEEE 754,
- une suite de caractères ASCII (représentés chacun sur 8 bits, le bit de plus fort poids étant
inutilisé et codé à 0)
2 Codage des réels
Exercice 2.1. Norme IEEE 754
La notation scientifique décimale consiste à écrire les réels sous la forme : ±n × 10c, de telle sorte
que la partie entière de n soit comprise entre 1 et 9. De la même façon, on peut écrire les nombres
binaires à virgule sous la forme ±1,... × 2c.
La norme IEEE 754 simple précision est la suivante :
– les nombres sont codés sur 32 bits,
– le premier bit correspond au signe,
– les 8 bits suivants codent l’exposant E = c + 127,
– les 23 bits restants codent la mantisse M, c’est-à-dire les chiffres après la virgule.
1. Ecrire −10,125 en utilisant la norme IEEE 754.
2. Donner la valeur décimale de 1100 0010 1110 1101 0100 0000 0000 0000.
3 Représentation des nombres réels
Question 1
Donner en binaire et en hexadécimal la représentation en virgule fixe (8 bits de partie entière + 4
bits de partie décimale "binaire") des nombres décimaux suivants : (a) 0.3125, 32.625, 128.2
Question 2
Quel nombre décimal est représenté par la chaine de bits suivante, codée en représentation
flottante IEEE 754 en simple précision (i.e., 1 bit de signe, 8 bits d’exposant, 23 bits de mantisse) :
11000001101100010000000000000000

Question 3
Donnez la représentation flottante IEEE 754 en simple précision des nombres rationnels suivants :
10, 10.5, 300, 75.75, 37.125, 25.5 et 0.1
4 Codage des caractères
Exercice 3.1. De même que pour les réels, on peut choisir une convention permettant de coder des
caractères. L’une de ces conventions est le code ASCII qui permet de coder les caractères utilisés en
anglais (pas d’accents). Chaque caractère est codé sur 7 bits. La table en annexe donne les codes
hexadécimaux des 128 caractères disponibles.
1. Quels sont les avantages et les inconvénients de ce codage?

Page 2
2. Quelle chaîne de caractères est codée par : 22 68 65 6C 6C 6F 20 77 6F 72 6C 64 22 ?

Page 3

Vous aimerez peut-être aussi