Architecture des SI [2015-2016]
a) Coder 327 et 15,1 en base 2.
b) Coder 45 de la base 10 vers la base 4
Deux bases jouent, en plus du binaire, des rôles importants chez les informaticiens : la base 8 (octal)
où les chiffres possibles sont 0, 1, 2, 3, 4, 5, 6, 7 et l’hexadécimal (base 16) où les symboles sont 0, 1,
2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
c) Que représente en base 10 le nombre 3A,7B ?
On constate que 2
= 8 et que 2
=16. Pour convertir rapidement un binaire en base 8, on fait des
paquets de 3 en commençant par la gauche de la virgule pour la partie entière et à droite de la
virgule pour la partie fractionnaire. On procède de même pour un la base 16 avec des paquets de 4.
Pour finir un paquet, on complète par des 0. Un paquet de trois bits correspond à un nombre entre 0
et 7 et un paquet de 4 bits correspond à un nombre entre 0 et 15
d) Transcrire 1001011,1101 en base 8 et 16
Exercice 2 : Addition et multiplications en binaire
Le mécanisme de l’addition en base 2 est absolument identique à l’addition en base 10. On
additionne chaque puissance de 2 identiques dans ce que l’on appelle un étage. Il est possible qu’il y
ait une retenue (qui vient de l’étage précédent c'est-à-dire de l’étage de droite). Pour un étage, le
total varie entre 00 (zéro) et 11 (trois). On pose le bit de poids faible et on retient le bit de poids fort
pour l’étage suivant.
a) Additionner 1001101 avec 11000100
b) Additionner en une seule opération 11111 + 110011 + 100011
La multiplication en binaire est très simple car la table de multiplication est très courte ! Le
mécanisme est le même qu’en décimal. Une multiplication est une suite d’additions.
c) Construire la table de multiplication
d) Multiplier 1100 par 101
Exercice 3 : Représentation des entiers
Dans tous les ordinateurs, tous les langages de programmation, les données de type entier (integer)
sont codées de la même façon. Par exemple avec 8 bits, on peut représenter 2
valeurs différentes,
soit 256 entiers.
a) Si on code un entier sur 2 octets (16 bits), quel est le nombre de possibilités ?
Les codages classiques se font sur 2, 4, 8 octets. Contrairement à un programme comme
Mathématica ou Maple, il n’y a pas d’adaptation dynamique de la taille à la valeur dans les langages
informatiques classiques (C, Visual Basic, java…).
Le signe (négatif ou positif) est porté par le bit de poids fort (bit de signe). Un nombre positif a 0