- •Арифметичні операції.
- •Алгебраїчні додавання та зсув чисел в формі з фіксованою комою
- •1.2 Додавання чисел у формі з фіксованою комою у прямому коді
- •1.3 Додавання чисел у додатковому коді (срс)
- •Можливі чотири випадки:
- •Алгоритм усунення переповнення.
- •1.4 Додавання в зворотному коді (срс)
- •Можливі чотири випадки при умові
- •1.5 Додавання чисел у форму з рухомою комою
- •Правила додавання
- •Нормалізація
- •Етапи додавання чисел у формі з рухомою комою
- •Операції множення Способи множення.
- •Множення чисел у формі з фіксованою комою.
- •Існує 4 варіанта машинних схем множення:
- •Застосування схем множення і схема
- •II схема
- •III схема
- •IV схема
- •Етапи множення.
- •1.8 Множення у додатковому коді (срс)
- •1.9 Прискорення операції множення.
- •Операції ділення.
- •Алгоритм ділення з поновленням залишку
- •Алгоритм ділення без поновлення залишку
- •Ділення чисел коли .
- •Алгоритм з поновленням залишку:
- •Ділення з поновленням залишку
- •Ділення чисел у формі з рухомою комою.
- •2. Логічні операції еом (срс)
- •Виключна диз'юнкція у програмуванні
Алгоритм з поновленням залишку:
1. Дільник віднімається від діленого і визначається знак залишку, якщо залишок >0, чи додатній, то ділене по модулю більше ніж дільник по модулю і псевдо знаковий розряд частки =1, у цьому випадку формується ознака переповнення розрядної сітки і операція припиняється.
Якщо залишок від’ємний то псевдо знаковий розряд =1, і проводиться додавання до залишку дільника для поповнення.
2. Проводиться зсув поновленого дільника на 1 розряд ліворуч і відбувається повторне віднімання дільника.
Знак остачі визначає першу цифру частки, якщо залишок додатній то вона 1, а від’ємний 0.
3. Якщо залишок додатній то він зсовується на один розряд ліворуч і від нього віднімається дільник для визначення наступної цифри частки.
Якщо залишок від’ємний до нього додається дільник для поповнення попереднього залишку, а потім зсовується на один розряд ліворуч і від нього віднімається дільник для визначення наступної цифри частки.
Даний цикл повторюється до отримання необхідної точності частки.
Зауваження:
Цифри частки отримуються як інвертні значення знакових розрядів поточних залишків.
Приклад
2:
00,010 Знос: 0,01 11,001 11,011 00,111 00,010 00,100 11,001 11,101 00,111 00,100 01,000 11,001 00,001
|
Приклад 1:
00,101 Знос : 0,1101
11,010
11,111
00,110
00,101
01,010
11,010
00,100
01,000
11,010
00,010
00,100
11,010
11,110
00,110
00,100
01,000
11,010
00,010
Ділення з поновленням залишку
Це аритичний процес – тобто коли треба робити поновлення залишку, а коли не треба. Саме тому найчастіше використовується алгоритм ділення без відновлення залишку. У якому цифра частки визначається за алгоритмом:
Поточний залишок зсовується на один розряд ліворуч і до нього алгебраїчно додається дільник з протилежним знаком поточного залишку. Знак наступного отриманого залишку визначає наступну цифру частки, якщо залишок від’ємний то цифра 0, якщо додатній то 1.
Приклад:
А= 0,101
В= 0,110 Знос: 0,1101
00,101
11,010
11,110
11,100
00,110
00,010
|
11,111
11,110
00,110
00,100
01,000
11,010
00,010
00,100
11,010
Ділення чисел у формі з рухомою комою.
Число А у формі з рухомою комою представляється у вигляді:
1. На першому етапі ділення чисел з рухомою комою визначається знак частки.
2. Необхідно визначити порядок частки шляхом віднімання порядку діленого від порядку дільника.
3. Ділення мантис чисел за правилом ділення чисел у формі з фіксованою комою.
Якщо ділене по модулю більше ніж дільник по модулю необхідно зробити корекцію для виконання умови , для того щоб А стало менше необхідно збільшити порядок діленого і зсунути мантису праворуч, і повторити усі дії спочатку.
Приклад 1:
Приклад
2:
00,110
Переповнення
розрядної сітки 11,100 100,010
00,011 11,100 Знос:
11,111 Відповідь:
00000110 11.110 00,100 00,010 00,100 11,100 00,000 00,000 11,100 11,100 11,000 00,110 11,110
|
00,111010
11,111101
11,111010
00,111101
00,110111
01,101110
11,000011
00,110001
01,100010
11,000011
00,100101
01,001010
11,000011
00,001101
00,011010
11,000011
11,011101
10,111011
00,111100
11,110111
11,101110
00,111101
00,101011
Знос:
Відповідь: 00000111101*2