Représentation en Complément à 2: En complément à 2 les nombres positifs ont exactement la même représentation en binaire comme en C à1. Les nombres négatifs sont obtenus en calculant d’abord le Cà1 du nombre puis on lui ajoute 1. Exemple N = (-17) 17 = 100012 -17 = 110001 le Cà1 du nombre -17 110001 101110 le complément à 2 du nombre -17 101110 +1 101111 le Cà2 du nombre -17 101111 l’addition en Cà2 1- on effectue l’opération (-8) + (+6) (-8) = 11000 en Cà1 11000 10111 en Cà2 10111 11000 (+6) = 0110 (-8) + (+6) (-2) 11000 + 00110 11110 en Cà2 en Cà1 10001 10001 + 1 = 10010 dans ce cas le résultat obtenu est négatif et en Cà2, l’opération n’a pas donnée une retenue. 2- on effectue l’opération (-8) + (-6) (-6) = 10110 en Cà1 10110 11001 en Cà2 11001 11010 01000 +11010 1 10010 en Cà2 retenue ignorée 10010 11101+1 11110 = (-14) la retenue produite par l’opération est ignorée, le résultat est négatif et en Cà2. +20+15 débordement -21+ -17 débordement +2 + -11 -12 + -13 Résumé pour l’addition en «complément à deux» 2 nombres de signes opposés Le résultat est représentable avec le nombre de bits fixés, pas de dépassement de capacité ; s’il y a une retenue, on l’ignore; On lit directement le résultat codé en CA2 2 nombres de même signe Il y a dépassement de capacité si la retenue est distincte du dernier bit celui sur le bit de signe; s’il y a une retenue on l’ignore. On lit directement le résultat codé en CA2 Conclusion : L’addition en codage complément à deux est simplement l’addition binaire. On ne garde jamais la retenue. Du fait de ces propriétés très utiles, le complément à deux est la méthode la plus souvent utilisée pour représenter les nombres négatifs sur des ordinateurs. 2 nombres de signes opposés ? Le résultat est représentable avec le nombre de bits fixés, pas de dépassement de capacité ; ? s’il y a une retenue, on l’oublie ! ? On lit directement le résultat codé en CA2 2 nombres de même signe ? Il y a dépassement de capacité si la retenue est distincte du dernier bit de report (i.e. celui sur le bit de signe) ; ? s’il y a une retenue on l’oublie ! ? On lit directement le résultat codé en CA2 Conclusion : 1 L’addition en codage complément à deux est simplement l’addition binaire. On ne garde jamais la retenue. 2 On détecte les dépassements de capacité grâce à un seul test pour tous les cas de figure. 3 Pour les autres opérations arithmétiques sur les entiers signés, le codage complément à deux présente des avantages similaires. Ce codage est donc souvent choisi en pratique.