- •Арифметичні операції.
- •Алгебраїчні додавання та зсув чисел в формі з фіксованою комою
- •1.2 Додавання чисел у формі з фіксованою комою у прямому коді
- •1.3 Додавання чисел у додатковому коді (срс)
- •Можливі чотири випадки:
- •Алгоритм усунення переповнення.
- •1.4 Додавання в зворотному коді (срс)
- •Можливі чотири випадки при умові
- •1.5 Додавання чисел у форму з рухомою комою
- •Правила додавання
- •Нормалізація
- •Етапи додавання чисел у формі з рухомою комою
- •Операції множення Способи множення.
- •Множення чисел у формі з фіксованою комою.
- •Існує 4 варіанта машинних схем множення:
- •Застосування схем множення і схема
- •II схема
- •III схема
- •IV схема
- •Етапи множення.
- •1.8 Множення у додатковому коді (срс)
- •1.9 Прискорення операції множення.
- •Операції ділення.
- •Алгоритм ділення з поновленням залишку
- •Алгоритм ділення без поновлення залишку
- •Ділення чисел коли .
- •Алгоритм з поновленням залишку:
- •Ділення з поновленням залишку
- •Ділення чисел у формі з рухомою комою.
- •2. Логічні операції еом (срс)
- •Виключна диз'юнкція у програмуванні
Арифметичні операції.
Алгебраїчні додавання та зсув чисел в формі з фіксованою комою
Додавання –це основна операція в обчислювальній техніці.
По способам додавання арифметичні пристрої діляться на такі типи:
- послідовні
- паралельні
- комбіновані
Підсумовування цілих багаторозрядних чисел у двійковій системі числення виробляється поразрядно відповідно до табл. 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
Недоліком додавання в прямому коді є:
Знакова та цифрова частина числа повинна розглядатися окремо.
Для додавання чисел з різними знаками необхідно передбачити «вычитатель».