Algoritmo di Booth: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m clean up, replaced: L'''' → L{{'}}''' |
|||
(19 versioni intermedie di 18 utenti non mostrate) | |||
Riga 1:
{{F|programmazione|febbraio 2013}}
{{S|matematica applicata}}▼
L{{'}}'''algoritmo del prodotto di Booth''', o semplicemente '''algoritmo di Booth''', è un [[algoritmo]] per il calcolo del [[moltiplicazione|prodotto]] tra due [[numeri binari]] con segno, espressi nella notazione [[complemento a due]]. Fu inventato dal [[fisica|fisico]] [[Andrew Donald Booth]] nel [[1951]], originariamente allo scopo di velocizzare i calcoli necessari a una ricerca che Booth stava svolgendo nel settore della [[cristallografia]], avendo a disposizione una calcolatrice lenta nelle somme ma veloce nello [[shift]].
==
Siano '''m''' e '''r''' rispettivamente il moltiplicando e il moltiplicatore, e siano '''x''' e '''y''' le rispettive lunghezze in bit della codifica in complemento a due dei due numeri.
#
##
##
##
#
##
##
##
#
#
#
==
Troviamo '''m''' * '''r''', con m = 3 e r = -4, la codifica di entrambi i valori può avvenire su 4 bit, quindi lavoreremo su 4 + 4 + 1 = 9 bit.
*
*
*
▲* Dobbiamo eseguire i punti 2 e 3 ciclicamente per quattro volte.
#P = 0000 011'''0 0'''.Gli ultimi bit sono "00".
#
#
#
#*
#
#*
▲#* P = 1110 1001 1. Shift a destra.
▲# P = 1110 100'''1 1'''. Gli ultimi bit sono "11".
* Il prodotto è 1111 0100 (eliminando il bit più a destra), che in decimale è -12.
==Implementazione tipica==
==Funzionamento==
{{...|matematica}}
{{Portale|matematica}}
[[Categoria:Algoritmi aritmetici|Booth]]
|