
- •Арифметичні операції.
- •Алгебраїчні додавання та зсув чисел в формі з фіксованою комою
- •1.2 Додавання чисел у формі з фіксованою комою у прямому коді
- •1.3 Додавання чисел у додатковому коді (срс)
- •Можливі чотири випадки:
- •Алгоритм усунення переповнення.
- •1.4 Додавання в зворотному коді (срс)
- •Можливі чотири випадки при умові
- •1.5 Додавання чисел у форму з рухомою комою
- •Правила додавання
- •Нормалізація
- •Етапи додавання чисел у формі з рухомою комою
- •Операції множення Способи множення.
- •Множення чисел у формі з фіксованою комою.
- •Існує 4 варіанта машинних схем множення:
- •Застосування схем множення і схема
- •II схема
- •III схема
- •IV схема
- •Етапи множення.
- •1.8 Множення у додатковому коді (срс)
- •1.9 Прискорення операції множення.
- •Операції ділення.
- •Алгоритм ділення з поновленням залишку
- •Алгоритм ділення без поновлення залишку
- •Ділення чисел коли .
- •Алгоритм з поновленням залишку:
- •Ділення з поновленням залишку
- •Ділення чисел у формі з рухомою комою.
- •2. Логічні операції еом (срс)
- •Виключна диз'юнкція у програмуванні
1.3 Додавання чисел у додатковому коді (срс)
У додатковому коді операція алгебраїчного віднімання замінюється операцією додавання з протилежним знаком.
Знакова та числова частина числа розглядається як єдина ціла.
В результаті ЕОМ оперує з від’ємними числами як з неправильними дробами. При цьому вірний знак суми отримується як результат додавання знакових розрядів чисел і одиниці переносу з цифровою частиною числа, якщо вона є. При цьому все відбувається автоматично – сума чисел у додатному коді завжди є додатній код.
При умові [С]д= [A]д+ [B]д (|A|+|B|)<1
Можливі чотири випадки:
1. A>0; B>0,
як у прямому коді
2. A>0; B<0.
При додаванні чисел з протилежними знаками з яких по абсолютному значенню більше додатне, то результат отримується в прямому коді. Отримана сума відрізняється від істинного суми на два. Корекція на два відбувається автоматично, так як у розрядній сітці ЕОМ відсутнє місце.
Наприклад
[А]д=0, 10111
[В]д=1, 10100
+0, 10111
0,01100
10,01011
3. A<0; B>0.
У зв’язку з тим що А від’ємне ми отримаємо суму у додатковому коді.
Наприклад
А=-0,10101
В=0,01001
[А]д=1, 01011
[В]д=0,01001
[С]д=1, 10011
+1,01011
0,01001
1,10100
[С]п=-0, 01100
4. А<0 B<0
У зв’язку з тим що сума від’ємних чисел дає результат від’ємний, тобто як і у другому випадку можливий перенос з знакового розряду суми. Так як додавання відбувається по модулю два, то ми цей перенос не враховуємо.
Наприклад
А=-0,10101
В=-0,01001
[А]д=1, 01011
[В]д=1,10111
[С]д=1,00010
+1,01011
1,10111
11,00010
[С]п=-0, 11110
Таким чином в усіх випадках знак суми формується автоматично по загальним правилам порозрядного додавання числових та знакових розрядів доданків.
При додаванні чисел діє переставний закон. При неправильному виборі масштабно коефіцієнта доданків у першому та другому випадках можливе переповнення – є відмінність знаку доданків. Переповнення ділять на додатне переповнення і від’ємне. Ознакою додатного переповнення є наявність переносу з цифрової частини в знаковий розряд, якщо відсутній перенос з знакового розряду.
Ознакою від’ємного переповнення є наявність переносу з знакового розряду суми при відсутності переносу з цифрової частини числа в знакову.
Наприклад
А=-0,101
В=-0,111
[А]д=1,011
[В]д=1,001
[С]д=10,100
+1,011
1,001
10,100
Таким чином переповнення відсутнє коли обидва переноси є або їх зовсім нема. Наявність одного з переносів має місце переповнення розрядної сітки. Для виявлення переповнення розрядної сітки вводять допоміжний розряд в знакову частину. Цей розряд називається розрядом переповнення. Таким чином отримується модифікований додатковий код. Лівий знаковий розряд зберігає знак.
Алгоритм усунення переповнення.
2. Збільшити масштабний коефіцієнт, тобто зсунути число на один розряд праворуч.
3. У правому знаковому розряді продублювати значення лівого знакового розряду.
Наприклад
А=0,101
В=-0,111
[А]дm=00,101
[В]дm=11,001
00,101
11,001
11,110
А=0,101=[А]д
В=0,011 =[В]д
00,101
00,011
01,000=00,100*21