Последната редакция на тази книга е от 2021 година.

 

 

IV.3.3  Умножение по алгоритъма на Бут

 

 

        Алгоритъмът реализира метода за умножение с младшите разряди напред по схемата с неподвижно множимо. За определяне на необходимите микрооперации, в текущият i-ти такт, алгоритъмът на Бут използува две логически функции:

  Функция на изместването

чиито стойности са кодирани както следва:

c=0  -  означава изместване (без операция) и

c=1  -  означава операция с последващо изместване;

 

  Функция на операцията

чиито стойности са кодирани както следва:

s=0  -  означава (+) събиране и

s=1  -  означава (-) изваждане.

 

        Алгоритъмът на Бут се отнася към групата на методите за логическо ускоряване на операция умножение. Характеризира се със това, че е хомогенен и интерпретира знаковата цифра така както всички останали цифри на множителя. Има продължителност n такта.

 

 

 

ПРИМЕР 54.  Да се изпълни операция умножение  Z=X.Y  на числата  X=21  и  Y=28,  които са представени в разрядна мрежа с дължина  n=6[b],  в допълнителен код, по алгоритъма на Бут.

 

 

 

 

 

 

ПРИМЕР 55.  Да се изпълни операция умножение  Z=X.Y  на числата  X=21  и  Y=-28,  които са представени в разрядна мрежа с дължина  n=6[b],  в допълнителен код, по алгоритъма на Бут.

 

 

 

 

 

 

ПРИМЕР 56.  Да се изпълни операция умножение  Z=X.Y  на числата  X=-21  и  Y=-28,  които са представени в разрядна мрежа с дължина  n=6[b],  в допълнителен код, по алгоритъма на Бут.

 

 

 

 

 

 

ПРИМЕР 57.  Да се изпълни операция умножение  Z=X.Y  на числата  X=28  и  Y=-15,  които са представени в разрядна мрежа с дължина  n=6[b],  в допълнителен код, по алгоритъма на Бут.

 

 

 

 

 

 

      При умножение по алгоритъма на Бут съществува едно единствено изключение, което ще илюстрираме със следващия пример. Това изключение се създава от най-малкото число представимо в разрядната мрежа, когато то се явява множимо. Тогава, в случай, че поредната операция е изваждане, е възможно да настъпи препълване, което води до необходимост от модифицирано аритметическо изместване надясно.

 

 

 

 

ПРИМЕР 58.  Да се изпълни операция умножение  Z=X.Y  на числата  X=-32  и  Y=-32,  които са представени в разрядна мрежа с дължина  n=6[b],  в допълнителен код, по алгоритъма на Бут.

 

 

 

 

 

 

Следващият раздел е:

4.3.4  Умножение по алгоритъма на Леман