Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
Algorithmique et Langage - Pages de Michel Deloizy - Free
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
TD1 : TYPES DE DONNÉES – CODAGE<br />
I. Caractères.<br />
I.1. Indiquer les co<strong>de</strong>s ASCII <strong>de</strong>s caractères suivants :<br />
'A', 'B', 'q', '?','*', '0' (zéro), '8', '\r', '\n', '\t'<br />
I.2. La mémoire contient les données suivantes (hexadécimal) :<br />
adresses<br />
données<br />
2A3C 43 27 65 73 74 20 65 6E<br />
2A44 20 41 53 43 49 49 2E 00<br />
Indiquer pour chaque oct<strong>et</strong> le caractère correspondant.<br />
II. Entiers.<br />
On suppose ici que les poids faibles sont situés en adresse basse.<br />
II.1. Écrire en hexadécimal puis en binaire le contenu <strong>de</strong> la mémoire pour les valeurs suivantes (entiers sur 16 bits)<br />
: 1234, 37840, 65535, -128, -1<br />
II.2. Donner les résultats <strong>de</strong>s opérations suivantes :<br />
• pour <strong>de</strong>s entiers signés codés sur 16 bits<br />
• pour <strong>de</strong>s entiers non signés codés sur 16 bits<br />
• pour <strong>de</strong>s entiers signés codés sur 32 bits<br />
1000 - 1024<br />
25000 + 30535<br />
65536 - 1<br />
II.3. Calculer les résultats <strong>de</strong>s opérations suivantes (opérateurs du C) :<br />
M<strong>et</strong>tre le résultat en binaire, hexadécimal <strong>et</strong> décimal sur 8 bits.<br />
25 & 51<br />
25 | 51<br />
25 ^ 51<br />
~25<br />
-25<br />
III. Chaînes <strong>de</strong> caractères.<br />
Indiquer le contenu mémoire obtenu avec les chaînes <strong>de</strong> caractères suivantes, selon <strong>de</strong>ux codages possibles<br />
(nombre <strong>de</strong> caractères en tête ou zéro terminal) :<br />
"TOTO"<br />
"Il fait chaud\n"<br />
"02 + 20 = 22\n"<br />
IV. Virgule flottante.<br />
Étudier les résultats obtenus avec les nombres en virgule flottante codés sur 64 bits, selon la norme IEEE 754 :<br />
e<br />
x = ± m⋅2<br />
S E' F<br />
b 63 b 62 b 52 b 51 b 0<br />
• e : exposant<br />
• m : mantisse. 1.0 ≤ m < 2.0<br />
• S : signe. 1 bit. 0 : positif, 1 : négatif<br />
• E' = e+1023. 11 bits. 1 ≤ E' ≤ 2047<br />
• F = m-1. Partie fractionnaire <strong>de</strong> la mantisse. 52 bits.<br />
Représenter le contenu mémoire correspondant aux valeurs 1.0, 2.0 <strong>et</strong> 5.0.<br />
Quelle est la valeur positive la plus p<strong>et</strong>ite possible ?<br />
Quelle est la valeur positive la plus gran<strong>de</strong> possible ?<br />
Quel est le nombre <strong>de</strong> chiffres significatifs ?<br />
V. Tableaux<br />
Soit un tableau d'entiers codés sur 16 bits <strong>et</strong> contenant les valeurs : { 2, 4, 8, 16, 32 }<br />
Représenter le contenu <strong>de</strong> la mémoire correspondant à ce tableau.<br />
Quel est le nombre d'oct<strong>et</strong>s nécessaire au stockage du tableau ?