Interprétation du contenu d ’une zone mémoire (1) chaîne de caractères 42 6F 6E 6A 6F 75 72 Cette suite de bytes peut-elle représenter une chaîne de caractères? Oui si chaque byte contient le code ASCII d ’un caractère! Ici : 42 B 6E N 6A J 75 U 72 R 6F O Cette suite de bytes peut représenter la chaîne "BONJOUR "
42 6F 6E 9D Cette suite de bytes peut-elle représenter une chaîne de caractères? NON, car 9D ne correspond à aucun caractère du code ASCII standard!
(2) format binaire fixe non signé Une suite de bytes peut toujours être interprétée comme la représentation d ’un nombre non signé en format binaire fixe. Comment trouver le nombre décimal représenté? En convertissant le contenu de la zone mémoire (nombre en hexadécimal) en décimal. Exemple: 0015 représente le nombre décimal 21 8002 représente le nombre décimal 32770
(3) format binaire fixe signé Une suite de bytes peut toujours être interprétée comme la représentation d ’un nombre signé en format binaire fixe. Comment trouver le nombre décimal signé représenté? a) le nombre est-il positif ou négatif? Voir le bit de signe (0 positif, 1 négatif) b) si le nombre est 0: convertir d ’hexadécimal en décimal si le nombre est < 0: prendre le complément à 2 avant de convertir d ’hexadécimal en décimal.
Exemple: 00 32 positif ou négatif? positif convertir 3216 = 5010 0000 convertir 3216 = 5010 0032 peut s ’interpréter comme la représentation en format binaire fixe de +50.
prendre le complément à 2 F F F F - E F 9 0 1 0 6 F + 1 négatif positif ou négatif? EF 90 1110 prendre le complément à 2 F F F F - E F 9 0 1 0 6 F + 1 1 0 7 0 convertir 107016 = 420810 EF90 peut s ’interpréter comme la représentation en format binaire fixe de -4208.
(4) décimal codé binaire étendu non-signé 38 30 31 37 Cette suite de bytes peut-elle représenter un nombre en décimal codé binaire étendu non-signé? Oui si la partie basse de chaque byte est un chiffre décimal et si la partie haute est un chiffre hexadécimal (qui dépend du langage et du processeur) qui est le même dans chaque byte! Le nombre décimal représenté se trouve en juxtaposant les chiffres des parties basses des bytes. 8017
Exemples: 34 30 35 21 ne représente pas un nombre en d.c.b.é. non signé car 2 3 F2 F3 F0 FC ne représente pas un nombre en d.c.b.é. non signé car C n ’est pas un chiffre décimal 04 00 05 03 représente le nombre décimal 4053 en d.c.b.étendu non signé
(5) décimal codé binaire étendu signé Cette suite de bytes peut-elle représenter un nombre en décimal codé binaire étendu signé? Oui si la partie basse de chaque byte est un chiffre décimal et si la partie haute est un chiffre hexadécimal (qui dépend du langage et du processeur) qui est le même dans chaque byte et si la partie haute du byte du dernier chiffre contient le signe C (pour +) ou D (pour -). Le nombre décimal représenté se trouve en juxtaposant les chiffres des parties basses des bytes. + 8017
Exemples: 34 30 35 A1 ne représente pas un nombre en d.c.b.é. signé car A C et A D. F1 F4 F9 CA ne représente pas un nombre en d.c.b.é. signé car A n ’est pas un chiffre décimal 04 00 05 D3 représente le nombre décimal -4053 en d.c.b.étendu signé
(6) décimal codé binaire condensé non-signé 39 21 04 Cette suite de bytes peut-elle représenter un nombre en décimal codé binaire condensé non-signé? Oui si chaque demi-byte contient un chiffre décimal. Le nombre décimal représenté se trouve en juxtaposant les chiffres décimaux. 392 104
Exemples: 32 5C 63 ne représente pas un nombre en d.c.b.condensé non-signé car C n ’est pas un chiffre décimal. 12 09 87 représente le nombre décimal 120 987 en d.c.b.condensé non-signé
(7) décimal codé binaire condensé signé Cette suite de bytes peut-elle représenter un nombre en décimal codé binaire condensé signé? Oui si chaque demi-byte contient un chiffre décimal sauf le dernier qui doit contenir C (pour +) ou D (pour -). Le nombre décimal représenté se trouve en décodant le signe (dernier demi-byte) avant de juxtaposer les chiffres décimaux trouvés dans les autres demi-bytes. + 12 345
Exemples: 32 90 C5 ne représente pas un nombre en d.c.b.condensé signé car 5 C et D , et C n ’est pas un chiffre décimal. A3 42 5C ne représente pas un nombre en d.c.b. condensé signé car A n ’est pas un chiffre décimal 12 00 9D représente le nombre décimal -12 009 en d.c.b. condensé signé.