Une multiplication à base plus élevée (sous entendu que 2) considére plusieurs bits simultanément (au lieu de 1 habituellement). Ainsi, un multiplieur à base 2k considère k bits simultanément.
! Le nombre de produits partiels est divisé par k.
Considérons un multiplieur à base 4. On considère les bits deux par deux, en s'appuyant sur le bit précédent la paire courante. De plus, on emploi un recodage de Booth. Pour un nombre A, on a
avec a-1=0 (par exemple, 3 = )
! Une multiplication par la base = un décalage vers la gauche.
L'opération à faire sur le résultat intermédiaire est donnée par la table suivante (en fonction des bits du multiplicande A) :
a2i+1 | a2i | a2i-1 | résultat intermédiaire |
0 | 0 | 0 | 0 |
0 | 0 | 1 | +B |
0 | 1 | 0 | +B |
0 | 1 | 1 | +2B |
1 | 0 | 0 | -2B |
1 | 0 | 1 | -B |
1 | 1 | 0 | -B |
1 | 1 | 1 | 0 |
Exemple : la multiplication de 7 (A = 00111) par 3 (B=00011) se fait comme suit :
0 | 0 | 1 | 1 | 1 | ||||||
0 | 0 | 0 | 1 | 1 | ||||||
- | 0 | 0 | 0 | 1 | 1 | (-B) | ||||
+ | 0 | 0 | 0 | 1 | 1 | (+2B) | ||||
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
? Donner la table permettant de déterminer le multiplicande
intermédiaire à ajouter pour une multiplication en base 8.