CODAGE DES NOMBRES • CODAGE DES NOMBRES ENTIERS Les microcontrôleurs, les processeurs et les DSP sont constitués de mécanismes qui ne permettent de noter que 2 états : « 0 » ou « 1 ». Une cellule de mémoire ou de registre est donc une unité contenant « 0 » ou « 1 ». Plusieurs de ces cellules sont assemblées pour représenter un nombre binaire. • Représentation des nombres entiers positifs ou non signés Les nombres sont représentés en binaire sur n bits : n = nombre d’unités mémoires (n = 8, 16, 32, 64, . . .). On peut représenter des nombres allant de 0 à 2 n 1 CODAGE DES NOMBRES • Représentation binaire des entiers signés Représentation des entiers en complément vrai (complément à 2) Avec quatre 4 bits, on obtient les éléments définis dans le Tableau 2 CODAGE DES NOMBRES avec des mots de n bits, on obtient 2n valeurs différentes, de 0 à 2n−1−1 pour les cvvaleurs positives, et de −1 à −2n−1 pour les valeurs négatives • REPRÉSENTATION DES NOMBRES RÉELS DANS UN CALCULATEUR Dans un calculateur, un nombre est toujours écrit sous forme d’un bloc de n bits (considéré comme un entier N). Pour représenter les nombres fractionnaires il est nécessaire de définir la position de la virgule : pour ce faire, il existe deux méthodes. − La représentation en virgule fixe − La représentation en virgule flottante 3 CODAGE DES NOMBRES • Représentation en virgule fixe En se limitant à la représentation binaire en complément à 2, les nombres fractionnaires peuvent être représentés par la relation avec n : nombre de bits pour exprimer la partie entière du nombre m : nombre de bits pour exprimer la partie fractionnaire du nombre 4 CODAGE DES NOMBRES Le domaine de définition des nombres définis selon le format n.m correspond aux valeurs extrêmes qu’il est possible de représenter 5 CODAGE DES NOMBRES • Représentation en virgule flottante L’IEEE (Institute of Electrical and Electronics Engineers) a développé un standard (IEEE 754) pour le calcul arithmétique en virgule flottante. Ce standard spécifie la manière de représenter des nombre en simple précision (32 bits) et double précision (64 bits). • Simple précision Le standard IEEE 754 pour les nombres en virgules flottantes en simple précision est de 32 bits. Le premier bit S (le plus à gauche) représente le signe, les 8 suivants (E) l’exposant et les 23 derniers (F) la représentation fractionnaire du nombre en format 0.23, appelé mantisse 6 CODAGE DES NOMBRES 7 CODAGE DES NOMBRES • un exemple V = -6,625. 1- Signe = 1 car le nombre est négatif. 2- On divise le nombre successivement par 2 jusqu'à obtenir un nombre du type 1,xxxx. 6,625/2 = 3,3125 [1] 3,3125/2 = 1,65625 [2] : Exposant = 2 + 127 = 129 = 128 + 1 = 1000 0001(2) 3- On détermine la valeur binaire de la mantisse codée sur 23 bits. 0,65625 × 2 = 1,3125 => 1 0,3125 × 2 = 0,625 => 0 0,625 × 2 = 1,25 => 1 0,25 × 2 = 0,5 => 0 0,5 × 2 = 1 => 1 Ainsi, la représentation de -6,625 est : 8 CODAGE DES NOMBRES • Double précision 9 CODAGE DES NOMBRES • Double précision 10 CODAGE DES NOMBRES • Double précision 11