Cours développement informatique, tutoriel & guide de travaux pratiques en pdf.
Représentation par complément à 2
• Un entier relatif positif ou nul sera représenté en binaire (base 2) comme un entier naturel, à la seule différence que le bit de poids fort représente le signe. Il faut donc s’ assurer pour un entier positif ou nul qu’ il est à zéro (0 correspond à un signe positif, 1 à un signe négatif). Ainsi si on code un entier naturel sur 4 bits, le nombre le plus grand sera 0111 (c’ est-à-dire 7 en base décimale). D’ une manière générale le plus grand entier relatif positif codé sur n bits sera 2n-1-1. • un entier relatif négatif grâce au codage complément à deux : Principe : soit à représenter un nombre négatif. o Prenons son opposé (son équivalent en positif) o On le représente en base 2 sur n-1 bits o On complémente chaque bit (on inverse, c’ est-à-dire que l’ on remplace les zéros par des 1 et vice-versa) o On ajoute 1 On remarquera qu’ en ajoutant le nombre et son complément à deux on obtient 0. Exemple : On désire coder la valeur -5 sur 8 bits. Il suffit • d’ écrire 5 en binaire: 00000101 • de complémenter à 1: 11111010 • d’ ajouter 1: 11111011 • la représentation binaire de -5 sur 8 bits est 11111011 Remarques: Le bit de poids fort est 1, on a donc bien un nombre négatif Si on ajoute 5 et -5 (00000101 et 11111011) on obtient 0 (avec une retenue de 1)
Représentation biaisée (par excès)
Une autre possibilité de codage des entiers signés consiste en ce qu’ on appelle une représentation biaisée (« biased » en anglais), également appelée représentation par excès. Celle-ci, très simple, consiste à considérer tout nombre codé comme un entier non signé auquel on soustrait une constante, ou biais. Généralement, ce biais est égal à la médiane de l’ ensemble représentable, c’ est-à-dire 128 pour une représentation sur un octet.