2010-10-10 20 views
2

J'essaie d'apprendre la multiplication binaire, les nombres négatifs du complément à 2.Multiplication binaire, complément à 2

-10 
x 3 

Je sais qu'il existe un moyen simple de le faire. Comme extension de signe et produit partiel initial.

-10   0110 twos complement 
x 3  x 0011 
----  ------ 
      000000 (initial partial product) with sign extension at the MSB 
      10110 (bit 0 of the 3 times 10, sign extended at MSB) 

      110110 (sign extended sum of initial partial product and 
          Multiplicand) 

      10110- (bit 1 of the 3 multiplied by the 10. sign extension at the MSB Note the 
         Multiplicand is shifted left by one bit) 

Je suis perdu sur la façon de continuer. Je ne suis même pas sûr si j'avais complètement raison jusqu'à ce point. Quelqu'un peut-il me montrer comment le faire par étapes? Je ne veux pas le faire autrement. Si je le fais de la manière traditionnelle, les grands nombres pourraient être mauvais. Merci

Répondre

4

Votre interprétation de -10 est désactivée.

..11110110 (-10) 
× 00000011 (3) 
------------- 
    ..11110110 (-10) 
+ ..111101100 (-20) 
------------- 
    ..11100010 (-30) 
+3

Pour clarifier: vous * ne pouvez pas * représenter -10 en deux complément en seulement 4 bits: un entier de 4 bits, 2s-complément va de -8 à +7. Vous devez donc faire vos calculs avec au moins 5 bits entiers et utiliser au moins 10 bits pour représenter le produit. – dmckee

+0

bonne réponse à cette question ... –

0

Hope Cela va vous aider. Utilisez le complément 2. Les débordements sont rejetés.

-Le complément de 10 dans 2 est 0110. Ajouter 1111 à l'avant pour faire 8 bits.

11110110 (-10) 
    00000011 (3) 
    ----------- 
    11110110 
    11110110 
    ----------- 
    1011100010 (discard [10]) 

réponse = 11100010

une fois convertis, il est 30 cela signifie que le nombre représenté par, 11100010 est -30. (2's comp.)