Алгоритъм за събиране на числа с PZ

1. Подравняване на редовете на членовете: по-малкият ред се увеличава към по-голям, докато мантисата на по-малкото преобразувано число се измества надясно - денормализира се. Машината извършва изваждането на редовете на операндите. Знакът и модулът на разликата в реда определят коя от мантисата на членовете трябва да бъде изместена надясно и с колко цифри.

2. Събиране на мантиси на операнди по правилата за събиране на числа с FZ.

3. Нормализиране на мантисата на резултата, ако е необходимо. В този случайденормализиране надясно, когато най-значимият бит на двоичната мантиса е „0“, изисква мантисата да бъде изместена наляво и редът да бъде намален със съответния брой единици.Денормализиране наляво означава временно ORS на мантисата на сумата, но за разлика от числата с FD, тук е възможна корекция: изместване на мантисата с една цифра надясно и увеличаване на реда на сумата с единица.

При големи стойности на поръчките е възможно истинско препълване на битовата мрежа от страна на поръчките на числа с PT, когато стойността на поръчката се окаже толкова голяма, че не може да бъде поставена в битовете, разпределени за поръчката. Вероятността това да се случи обаче е малка.

Изместените поръчки се използват в повечето съвременни компютри за опростяване на процеса на подравняване на поръчки, сравняването им и ускоряване на различни операции.

В съвременните компютри се използва специален допълнителен код с кодиране с обратен знак за представяне на реда: “+” - “1”, “-” - “0”. В резултат на това редовете на числата се увеличават (в ESEVM с 2 6 =64, в SMEVM с 2 7 =128), което води до изместване на всички редове по цифровата ос в положителна посока.

Такива изместени порядъци се наричат ​​характеристики и тъй като всички характеристики са положителни цели числа, тяхното алгебрично добавяне може да се извърши без предварителноанализ на знака.

Например, изобразете в 7-цифрената мрежа на EC компютъра характеристиката, съответстваща на поръчката =(-26), и проверете изместването на поръчката.

Пример 3.

Съберете числата A=30=11110(2) и B=72=1001000(2), като промените знаците и формата на представяне.

а) Операндите са отрицателни, добавете ги към OK във формата с FZ. M=27.

APK=1,0011110AOC=1,1100001
MIC=1.1001000WOK=1,0110111
(A + B) OK \u003d 1,001100111.0011000
(A + B) PC \u003d 1,1100110 (M \u003d 2 7)
A+B=-1100110(2)=-102(10)(A + B) OK \u003d 1,0011001

б) Знаците на операндите A 0. Представете ги в битовата мрежа на условната машина във формата с PZ, при добавяне на мантиси използвайте DK.

Има осем цифри за подписани мантиси и четири цифри за подписани поръчки.

МантисаПоръчка
А=1.1111000
B=0,1001000

1. Подравняване на редовете на членовете, за които се изваждат с DC:

RV=1001 (RA-RV)DK=1110 (RA-RV)PC=1010=-210

Разликата в реда = (–2), следователно мантисата на числото A трябва да бъде изместена с 2 цифри надясно и съответно редът трябва да бъде увеличен с 2:

МантисаПоръчка
А=1,0011110

2. Добавяне на мантиси като числа с FZ в DC:

1,1100010 = mA
0,1001000 =mV
10,0101010 = mA+mV

3. Нормализиране на мантисата на резултата чрез изместване на един бит наляво при намаляване на реда с единица.