Université de Nice – Sophia Antipolis Licence 1 Sciences Fondamentales 2013-2014
Informatique Générale
TD n° 4
1. Codage compact de petits ensembles
On veut utiliser un entier codé sur N bits bn-1bn-2...b1b0 pour représenter des ensembles de N éléments,
chaque élément étant codé par une valeur entre 0 et N-1. L'élément k sera présent dans l'ensemble si
bk est à 1, et pas présent si bk vaut 0. Par exemple, sur 8 bits, le nombre 25, soit 00011010 en binaire,
représentera l'ensemble {1, 3, 4} puisque b1, b3 et b4 sont à 1.
a. Quelles opérations booléennes correspondent à l'union, l'intersection, la différence et la
complémentation par rapport à l'ensemble {0:N-1} ?
b. Quelles opérations permettent de savoir si un ensemble est inclus dans un autre ?
c. Par quelles opérations peut-on ajouter un élément à un ensemble ?
d. Par quelles opérations peut-on réaliser le test d'appartenance d'un élément à un ensemble ?
2. Retour sur la représentation entière signée et non signée
La complémentation à 2 sur n bits pour les entiers permet de calculer modulo 2n, c'est à dire que les
opérations arithmétiques donnent le même résultat binaire, que l'on considère des nombres non
signés (sur n bits) ou des nombres signés (sur n-1 bit + le bit de signe).
Autrement dit, 011...11 + 1 (2n-1-1 + 1) donne toujours 100...00, qui peut être interprété comme 2n-1
ou comme -2n-1, selon qu'on le considère comme non signé ou signé. De même, si à 11...11 (2n-1 si
non signé, -1 si signé), on ajoute 1, on aura 00...00 (la dernière retenue est perdue), c'est à dire 0.
On considère des nombres entiers représentés sur 16 bits. Rappelons que 216 = 65536, et 215 = 32768.
a. Donnez l'intervalle des entiers représentables sur 16 bits en mode signé et en mode non signé.
b. Indiquez (en décimal) à quelle représentation non signée (sur 16 bits) correspondent les nombres
suivants, et en déduire leur représentation binaire (sur 16 bits).
•-2
•-32767
•-16384
c. Que vaut (entiers signés)
•(215-1)+2
•-215-215
2. Représentation binaire flottante
On considère une représentation sur 16 bits, avec une mantisse m sur 12 bits (non signée), et un
exposant x sur 4 bits avec un biais b de 8 (donc le nombre représenté est m.2x-8).
Par la suite, on représentera un nombre binaire flottant par
a. Que représente en décimal
b. Et
c. Quelle est la plus petite valeur > 0 représentable (en décimal) ?
d. Quelle est la plus grande valeur représentable (en décimal) ?
e. Comment serait représenté en binaire flottant 64 (26) ? Et 65 ? Et 260 ?
f. Comment serait représenté en binaire flottant 15/32 ?
g. Et 2,25 ? Idée : cherchez un entier n tel que n = 2,25×2k ;
h. Et 16,015625 ?
i. Pourquoi n'est-il pas possible de représenter 4097/32 = 128,03125 ? (4097=212+1)
j. Et 512 ?
m0m1...m11 | x3x2x1x0
110000000000 | 0110
110100101011 | 1010