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

Conteúdo apagado Conteúdo adicionado
Linha 67:
* O produto é 11110000 (depois de descartar o primeiro e o último bit) que é -16.
 
==HowComo it worksfunciona==
ConsiderConsidere aum positivemultiplicador multiplierpositivo consistingconsistindo ofde aum blockbloco ofde 1s surroundedrodeados bypor 0s. ForPor exampleexemplo, 00111110. TheO productproduto isé givendado bypor :
: <math> M \times \,^{\prime\prime} 0 \; 0 \; 1 \; 1 \; 1 \; 1 \; 1 \; 0 \,^{\prime\prime} = M \times (2^5 + 2^4 + 2^3 + 2^2 + 2^1) = M \times 62 </math>
onde M é o multiplicando. O número de operações podem ser reduzidos a duas, reescrevendo a mesma como
where M is the multiplicand. The number of operations can be reduced to two by rewriting the same as
: <math> M \times \,^{\prime\prime} 0 \; 1 \; 0 \; 0 \; 0 \; 0 \mbox{-1} \; 0 \,^{\prime\prime} = M \times (2^6 - 2^1) = M \times 62 </math>
 
Linha 84:
: <math> M \times \,^{\prime\prime} 0 \; 1 \; 0 \; 0 \mbox{-1} \; 1 \mbox{-1} \; 0 \,^{\prime\prime} = M \times (2^6 - 2^3 + 2^2 - 2^1) = M \times 58 </math>
 
O algoritmo de Booth segue esse esquema por executar uma adição quando encontra o primeiro dígito de um bloco de 1s (0 1) e uma subtração quando encontra o final de um bloco (1 0). Isso funciona também para númerios negativos. Quando os 1s no multiplicador são agrupados em blocos longos, o algoritmo de Booth executa menos adições e subtrações que o algoritmo normal de multiplicação.
Booth's algorithm follows this scheme by performing an addition when it encounters the first digit of a block of ones (0 1) and a subtraction when it encounters the end of the block (1 0). This works for a negative multiplier as well. When the ones in a multiplier are grouped into long blocks, Booth's algorithm performs fewer additions and subtractions than the normal multiplication algorithm.
 
== {{Links externos}} ==