Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(ІНФОРМАТИКА)аріфм_лог_операц.doc
Скачиваний:
18
Добавлен:
17.03.2016
Размер:
256 Кб
Скачать
  1. Арифметичні операції.

    1. Алгебраїчні додавання та зсув чисел в формі з фіксованою комою

Додавання –це основна операція в обчислювальній техніці.

По способам додавання арифметичні пристрої діляться на такі типи:

  • -         послідовні

  • -         паралельні

  • -         комбіновані

Підсумовування цілих багаторозрядних чисел у двійковій системі числення виробляється поразрядно відповідно до табл. 1. У результаті додавання 1 + 1 одержуємо 102 = 2. Для представлення такого результату потрібно два розряди; при цьому з молодшого розряду в наступний, більш старший розряд, надходить одиниця переносу. Перенос додається з умістом відповідного розряду (додаваємих чисел), як показано на Рис1. (передбачається, що розрядна сітка містить шість двійкових розрядів).

 

Рис1. Схема додавання цілих багаторозрядних чисел

Підсумовування здійснюється послідовно, починаючи з молодшого розряду. У кожнім розряді додається значення трьох величин: розряду операнда аi розряду операнда bi; переносу з попереднього розряду рi-1

У результаті підсумовування в кожнім розряді одержуємо двох величин: значення суми si; значення переносу в наступний, більш старший розряд pi. Значення si і pi у залежності від аi bi, і pi показані в табл.1.

 

аi

bi

Рi-1

si

Pi

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

  

У розглянутому прикладі підсумовування чисел А = 3910 = 100111 і В == 1310, = 001101 отриманий результат 5 = 5210 = 110100 містить шість розрядів, тобто укладається в прийняту розрядну сітку.

Додамо до отриманого результату число 1310= 011101:

+

110100

+

52

001101

13

 

1000001

 

65

 У підсумку одержали число, що містить сім розрядів, старший з який відповідає розряду переносу, що знаходиться за межами розрядної сітки. Наявність одиниці в розряді переносу свідчить про переповнення розрядної сітки.

1.2 Додавання чисел у формі з фіксованою комою у прямому коді

 

Додавання в прямому коді чисел з однаковим знаком відбувається як додавання мантис чисел, а знак приписується. Якщо доданки мають різні знаки, то з мантиси більшого по модулю числа віднімають менше по модулю, а сумі приписують знак більшого по модулю числа. Так як закові розряди не мають ваги, то знакові та числові розряди оброблюються окремо.

Можливо чотири випадки при умові

[С]n= [A]n+ [B]n < 1 |A|>|B|

 

1. A>0; B>0.

[A]n=A

[B]n=B

[C]n=A+B

Наприклад

А=0,10110

В=0,00101

[С]n=0, 11011

+0,10110

0,00101

0,11011

 

2. A>0; B<0

[A]n=A

[B]n=1.|B|

[C]n=A-|B|

Наприклад

А=0,10110

В=1,00101

[С]n=0, 10001

-0, 10110

1, 00101

0, 10001

  3. A<0; B>0

[A]n=1.|A|

[B]n=B

[C]n=|A|-B

Наприклад

А=1,10110

В=0,00101

[С]n=1, 10001

-1, 10110

0, 00101

1, 10001

 

4. A<0; B<0

[A]n=1.|A|

[B]n=1.|B|

[C]n=1.(|A|+|B|)

Наприклад

А=1,10110

В=1,00101

[С]n=1, 10001

-1, 10110

1, 00101

1, 10001

 

При додаванні чисел одного знаку можливий випадок переповнення(перевищення абсолютного значення над одиницею).

Ознакою переповнення є наявність переносу з числової частини числа в знакову. По даному сигналу машина повинна припинити процес додавання і виконувати коректировку масштабного коефіцієнту.

 Наприклад

[А]n=1,1001

[В]n=1,1101

[С]n=1, 10110*21

-1, 1001

1, 1101

0110

K=21

-1, 01001

1, 01101

1, 01110

Недоліком додавання в прямому коді є:

  1. Знакова та цифрова частина числа повинна розглядатися окремо.

  2. Для додавання чисел з різними знаками необхідно передбачити «вычитатель».