Algoritmo de multiplicação de Booth: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Linha 49:
 
A técnica mencionada acima é inadequada quando o multiplicando é um número negativo mais comprido que o que pode ser representado (i.e. se o multiplicando tem 8 bits então esse valor é -128). Uma correção possível para esse probelam é adicionar mais um bit a esquerda de A, S e P. Abaixo, nós demonstramos a técnica melhorada multiplicando -8 por 2 usando 4 bits para o multiplicando e o multiplicador:
 
* A = 1 1000 0000 0
* S = 0 1000 0000 0
* P = 0 0000 0010 0
 
* Faça o loop quatro vezes:
*# P = 0 0000 0010 0. Os últimos dois bits são 00.
*#* P = 0 0000 0001 0. Deslocar a direita.
*# P = 0 0000 0001 0. Os últimos dois bits são 10.
*#* P = 0 1000 0001 0. P = P + S.
*#* P = 0 0100 0000 1. Deslocar a direita.
*# P = 0 0100 0000 1. Os últimos dois bits são 01.
*#* P = 1 1100 0000 1. P = P + A.
*#* P = 1 1110 0000 0. Deslocar a direita.
*# P = 1 1110 0000 0. Os últimos dois bits são 00.
*#* P = 1 1111 0000 0. Deslocar a direita.
 
* O produto é 11110000 (depois de descartar o primeiro e o último bit) que é -16.
 
== {{Links externos}} ==