Informatique

Arithmétique binaire signée

L’arithmétique binaire signée est la manipulation de nombres en binaire qui peuvent être à la fois positifs et négatifs. Pour représenter des nombres négatifs en binaire, on utilise principalement la méthode du complément à deux. L’arithmétique binaire signée permet d’effectuer des opérations comme l’addition, la soustraction, la multiplication et la division en tenant compte du signe des nombres, et elle est essentielle pour le fonctionnement des processeurs et des calculs numériques.

Les bases de l’arithmétique binaire signée :

  • Un nombre est signé lorsque le bit de poids fort (bit de gauche, ou MSB – Most Significant Bit) est utilisé pour indiquer le signe du nombre.
  • 0 dans le MSB signifie que le nombre est positif.
  • 1 dans le MSB signifie que le nombre est négatif (en utilisant la méthode du complément à deux).

En utilisant des représentations sur un nombre fixe de bits, comme 8 bits ou 16 bits, on peut effectuer des calculs sur des nombres signés en binaire.


Représentation des nombres signés

1. Complément à deux

Le complément à deux est la méthode la plus courante pour représenter les nombres signés. Voici comment fonctionne cette méthode :

  1. Nombre positif : Il est représenté en binaire classique.
  2. Nombre négatif : Il est représenté en inversant les bits du nombre positif (complément à un), puis en ajoutant 1 au résultat.

Exemple : Représentation de -5 en complément à deux sur 8 bits

  1. Représentation de +5 en binaire (sur 8 bits) :
    00000101
  2. Inversion des bits (complément à un) :
    11111010
  3. Ajouter 1 pour obtenir le complément à deux :
    11111011

Ainsi, -5 est représenté par 11111011 en complément à deux sur 8 bits.


Plage de valeurs avec un nombre fixe de bits

Dans une représentation signée en complément à deux, la plage des nombres que l’on peut représenter dépend du nombre de bits. Par exemple, avec 8 bits, la plage de valeurs est :

  • Nombres positifs : De 0 à 2ⁿ⁻¹ – 1, soit de 0 à 127 pour 8 bits (0 à 01111111).
  • Nombres négatifs : De -2ⁿ⁻¹ à -1, soit de -128 à -1 pour 8 bits (10000000 à 11111111).
Plage pour 8 bits
Nombres positifs : 00000000 (0) à 01111111 (127)
Nombres négatifs : 10000000 (-128) à 11111111 (-1)

Avec n bits, la plage de nombres signés est donc de -2ⁿ⁻¹ à 2ⁿ⁻¹ – 1.


Opérations en arithmétique binaire signée

Les opérations arithmétiques avec des nombres signés fonctionnent de la même manière qu’avec des nombres non signés, mais le système en complément à deux garantit que les calculs se comportent correctement, y compris pour les nombres négatifs.

1. Addition binaire signée

L’addition en binaire signée fonctionne de la même manière que l’addition binaire non signée, et l’utilisation du complément à deux permet de gérer automatiquement les nombres négatifs.

Exemple : Addition de +5 et -3 (sur 8 bits)
  1. +5 en binaire (8 bits) :
    00000101
  2. -3 en complément à deux (8 bits) :
    Représentation de +3 : 00000011
    Complément à deux de -3 : 11111101
  3. Addition :
   00000101   (+5)
 + 11111101   (-3)
  ----------
   00000010   (+2)

Le résultat est 00000010, soit +2, ce qui est correct.

2. Soustraction binaire signée

La soustraction peut être traitée comme une addition en binaire signée en utilisant le complément à deux.

Exemple : Soustraction de -6 à +9 (sur 8 bits)
  1. +9 en binaire (8 bits) :
    00001001
  2. -6 en complément à deux (8 bits) :
    Représentation de +6 : 00000110
    Complément à deux de -6 : 11111010
  3. Addition (car soustraction de -6 revient à ajouter +6) :
   00001001   (+9)
 + 11111010   (-6)
  ----------
   00000011   (+3)

Le résultat est 00000011, soit +3, ce qui est correct.

3. Détection du dépassement (Overflow)

Lorsque le résultat d’une addition ou d’une soustraction dépasse la plage de valeurs possibles pour un nombre signé, il y a un dépassement (ou overflow).

  • Si le résultat dépasse la valeur maximale positive (par exemple, 127 en 8 bits), le résultat devient incorrect (l’overflow se produit).
  • Si le résultat dépasse la valeur minimale négative (par exemple, -128 en 8 bits), il y a également un overflow.
Exemple d’overflow :

Additionner +120 et +10 en complément à deux sur 8 bits :

  1. +120 en binaire (8 bits) :
    01111000
  2. +10 en binaire (8 bits) :
    00001010
  3. Addition :
   01111000   (+120)
 + 00001010   (+10)
  ----------
   10000010   (-126 en binaire signé)

Le résultat est 10000010, soit -126, ce qui est incorrect car il y a eu un dépassement. L’overflow se produit ici car la somme dépasse la plage maximale de +127 en 8 bits.


Avantages de l’arithmétique binaire signée (complément à deux)

  1. Addition et soustraction simplifiées : L’utilisation du complément à deux permet de traiter les nombres négatifs de manière naturelle dans les opérations d’addition et de soustraction.
  2. Un seul zéro : Le complément à deux élimine la double représentation du zéro (comme dans le système signe et valeur absolue), avec une seule représentation possible pour zéro : 00000000.
  3. Gestion facile du signe : Le bit de gauche (MSB) indique simplement le signe du nombre (0 pour les positifs, 1 pour les négatifs), facilitant la détection des nombres négatifs.
  4. Optimisé pour les processeurs : Les processeurs modernes utilisent couramment le complément à deux car il permet de simplifier les circuits de calcul arithmétique, notamment pour l’addition et la soustraction.

L’arithmétique binaire signée est au cœur du fonctionnement des processeurs pour manipuler des nombres à la fois positifs et négatifs. La représentation en complément à deux est largement utilisée car elle permet de simplifier les opérations arithmétiques tout en maintenant une bonne gestion du signe. Les règles de calcul binaire signées restent similaires à celles du calcul binaire non signé, avec l’avantage que les résultats se comportent correctement même avec des nombres négatifs, à condition de surveiller les dépassements possibles.

Autres articles

Guide : Comment créer un QCM en...
Le QCM en langage C peut être simulé dans un...
Read more
Tableaux en Langage C : Exercices Corrigés
Voici une série d'exercices corrigés sur les tableaux en langage...
Read more
Scrum : Exercice Corrigé
La méthode Scrum est l'une des approches les plus populaires...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *