Informatique Générale TD n° 4

publicité
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 2 n, 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 2 n­1 ou comme ­2n­1, selon qu'on le considère comme non signé ou signé. De même, si à 11...11 (2 n­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.
d.
e.
f.
g.
h.
m0m1...m11 | x3x2x1x0
110000000000 | 0110
110100101011 | 1010
Quelle est la plus petite valeur > 0 représentable (en décimal) ?
Quelle est la plus grande valeur représentable (en décimal) ?
Comment serait représenté en binaire flottant 64 (26) ? Et 65 ? Et 260 ?
Comment serait représenté en binaire flottant 15/32 ?
Et 2,25 ? Idée : cherchez un entier n tel que n = 2,25×2k ;
Et 16,015625 ? i. Pourquoi n'est­il pas possible de représenter 4097/32 = 128,03125 ? (4097=212+1)
j.
Et 512 ?
Téléchargement