Informatique

Multiplication binaire signée

La multiplication binaire signée est similaire à la multiplication binaire classique, mais elle prend en compte les nombres négatifs représentés en complément à deux. L’arithmétique binaire signée gère les nombres positifs et négatifs, et la multiplication des nombres signés en binaire est également simple grâce au complément à deux.

Les étapes de la multiplication binaire signée sont globalement les mêmes que pour la multiplication non signée, à la différence que l’on doit tenir compte du signe des nombres (indiqué par le bit de poids fort, ou MSB).

Rappel : Le complément à deux est utilisé pour représenter les nombres négatifs. Le bit de gauche (MSB) sert de signe :

  • 0 signifie que le nombre est positif.
  • 1 signifie que le nombre est négatif (en utilisant la représentation en complément à deux).

Étapes de la multiplication binaire signée

  1. Convertir les nombres en complément à deux si nécessaire.
  2. Multiplier les nombres comme s’il s’agissait de nombres binaires non signés.
  3. Analyser le signe du résultat : Le signe du résultat dépend du signe des nombres multipliés :
  • Positif × Positif = Positif
  • Positif × Négatif = Négatif
  • Négatif × Positif = Négatif
  • Négatif × Négatif = Positif
  1. Tronquer ou ajouter des bits si nécessaire, en fonction de la largeur de bits (8 bits, 16 bits, etc.).

Exemple 1 : Multiplication de +3 × -2 sur 4 bits

Étape 1 : Représenter les nombres en complément à deux sur 4 bits

  • +3 en binaire sur 4 bits : 0011
  • -2 en complément à deux sur 4 bits :
  1. Représentation de +2 : 0010
  2. Complément à deux de -2 : inverser les bits (1101), ajouter 1 (1110)

Ainsi, -2 en complément à deux est 1110.

Étape 2 : Multiplier comme pour des nombres binaires non signés

    0011   (+3)
  × 1110   (-2)
  -------
    0011       (0011 × 0 = 0000, donc décalage de 1 position)
+ 0000       (0011 × 1 = 0011, décalage de 2 positions)
+ 1100       (0011 × 1 = 0011, décalage de 3 positions)
  -------
   11010

Le produit intermédiaire est 11010. Puisque nous travaillons sur 4 bits, nous devons tronquer à 4 bits, ce qui donne 1010.

Étape 3 : Interpréter le résultat

  • 1010 en complément à deux représente -6.
    Cela correspond bien à la multiplication +3 × -2 = -6.

Exemple 2 : Multiplication de -3 × -3 sur 4 bits

Étape 1 : Représenter les nombres en complément à deux

  • -3 en complément à deux sur 4 bits :
  1. Représentation de +3 : 0011
  2. Complément à deux de -3 : inverser les bits (1100), ajouter 1 (1101)

Ainsi, -3 en complément à deux est 1101.

Étape 2 : Multiplier comme pour des nombres binaires non signés

    1101   (-3)
  × 1101   (-3)
  -------
    1101       (1101 × 1 = 1101)
+ 1101       (1101 × 0 = 0000, décalage de 1 position)
+ 0000       (1101 × 1 = 1101, décalage de 2 positions)
+ 1101       (1101 × 1 = 1101, décalage de 3 positions)
  -------
   10010001

Le produit intermédiaire est 10010001, mais comme nous travaillons avec des nombres sur 4 bits, nous devons tronquer les bits de poids faible, ce qui donne 0001.

Étape 3 : Interpréter le résultat

  • 0001 est +9 en binaire sur 4 bits.
  • Cela correspond bien à la multiplication -3 × -3 = +9, puisque la multiplication de deux nombres négatifs donne un résultat positif.

Règles pour déterminer le signe du résultat

Le signe du résultat dans la multiplication binaire signée peut être facilement déterminé sans effectuer de conversion de complément à deux :

  • Si les deux nombres ont le même signe (tous deux positifs ou tous deux négatifs), le produit est positif.
  • Si les deux nombres ont des signes différents (un positif et un négatif), le produit est négatif.

Exemple 3 : Multiplication de +2 × -5 sur 8 bits

Étape 1 : Représenter les nombres en complément à deux

  • +2 en binaire sur 8 bits : 00000010
  • -5 en complément à deux sur 8 bits :
  1. Représentation de +5 : 00000101
  2. Complément à deux de -5 : inverser les bits (11111010), ajouter 1 (11111011)

Ainsi, -5 en complément à deux est 11111011.

Étape 2 : Multiplier comme pour des nombres binaires non signés

    00000010   (+2)
  × 11111011   (-5)
  ------------
    00000010     (00000010 × 1 = 00000010)
+ 00000010     (00000010 × 1 = 00000010, décalage de 1 position)
+ 00000000     (00000010 × 0 = 00000000, décalage de 2 positions)
+ 111111000     (00000010 × 1 = 00000010, décalage de 3 positions)
  ------------
   111111001110

Le produit intermédiaire est 111111001110, mais comme nous travaillons sur 8 bits, nous tronquons les bits de poids faibles et prenons les 8 premiers bits de la droite.

Étape 3 : Interpréter le résultat

Le résultat après troncation est 11111110, qui est -10 en complément à deux.
Cela correspond bien à la multiplication +2 × -5 = -10.


La multiplication binaire signée suit les mêmes règles que la multiplication non signée, avec la gestion supplémentaire des nombres négatifs via la représentation en complément à deux. Les résultats signés respectent les règles du signe (positif ou négatif) en fonction de la combinaison des facteurs, ce qui simplifie la multiplication dans les systèmes informatiques.

Voici quelques points clés à retenir :

  • Utilisez le complément à deux pour représenter les nombres négatifs.
  • Multipliez les nombres comme s’il s’agissait de nombres non signés.
  • Ajustez le résultat final en tenant compte de la taille de bits et du signe.

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 *