Drugi wariant metody Booth'a.

  1. Przesuń mnożną o jedno miejsce w prawo.

  2. Zbadaj ostatni bit mnożnika. Jeżeli jest równy 1 to dodaj mnożną do iloczynu częściowego, który na początku jest wyzerowany.

  3. Jeżeli ostatni bit jest równy 0 to nic nie rób i przesuń mnożnik o jedno miejsce w prawo ( przejście do analizy kolejnego bitu mnożnika ).

  4. Przesuń iloczyn częściowy o jedno miejsce w prawo i powtarzaj punkty 2,3,4 aż do bitu „t0” (bit znaku w przypadku ułamków ).

  5. Zbadaj bit znakowy ( t0 ) mnożnika. Jeśli jest on równy 1 to występuje tzw. poprawka , czyli odejmij mnożną od iloczynu częściowego. Jeżeli bit znakowy równy jest 0 to nic nie robimy.

  6. Uzyskany iloczyn częściowy przesuń o jedno miejsce w lewo ( zapis ZU2 ).

Przedstawiony wyżej opis można zilustrować schematem blokowym:

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic

START

Z=1

X=mnożna

Y=mnożnik

Obm = ostatni bit mnożnika

A = największa część całkowita liczby X

X=X*0.1+A

Obm=1

Z=Z+X

Obm = bit mnożnika przesunięty od poprzednio badanego o jedno miejsce w lewo

A=największa część całkowita liczby Z

Z=Z*0.1+A

Obm=bit znaku

Obm = 1

Z=Z-X

A= największa część całkowita liczby Z

Z=10*Z-A

Z

STOP