Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Лзл(х),(y) - логічний зсув ліворуч числа x, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y.
Содержание книги
- Наприклад, Костів Ярослав Андрійович, 8 перших різних літер для варіанту В7: К О С ТІ В Я Р .
- Вважаючи це число шістнадцятковим, перевести його до десяткової, вісімкової та двійкової систем числення з точністю відповідно 3, 3 та 5
- Для визначення лінійності функції подамо її у вигляді полінома Жегалкіна
- Аналітичному записі функції і позначити їх на картах Карно.
- Функції, мінімізовані в завданні 2.3, реалізувати за допомогою дешифраторів.
- Синтезувати в базисі Буля функціональні схеми пристроїв, які виконують дані операції, і навести значення сигналів на входах схеми і на виходах кожного елемента схеми.
- Лзл(х),(y) - логічний зсув ліворуч числа x, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y.
Похожие статьи вашей тематики
Де = 0.1001110010 (прямий код, доповняльний код), ЗнДе = 0 (+);
Дк = 0.10011 (прямий код, доповняльний код), ЗнДк = 0 (+);
-Дк = 1.01101 (доповняльний код).
Визначення n:
Де = +1001110010, Дк = +10001. Де довше за Дк на 5 бітів, тобто n= 5+1 = 6.
| Лч
| S
| S<0?
| Q
| Ч
| Наступна операція
| |
| 0.1001110010
|
|
|
| Q = ЗнДе # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = S - Дк
| | 0.1001110010
+ 1.01101
0.0000010010
| S>0
|
|
| Q = 1
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 0.0000100100
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S - Дк
| | 0.0000100100
+ 1.01101
1.0110110010
| S<0
|
|
| Q = 0
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = S + Дк
| | 1.0110110010
+ 0.10011
0.0000010010
|
|
|
| S = ЛЗЛ(S), 0
| | 0.0000100100
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S - Дк
| | 0.0000100100
+ 1.01101
1.0111000100
| S<0
|
|
| Q = 0
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = S + Дк
| | 1.0111000100
+ 0.10011
0.0000100100
|
|
|
| S = ЛЗЛ(S), 0
| | 0.0001001000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S - Дк
| | 0.0001001000
+ 1.01101
1.0111101000
| S<0
|
|
| Q = 0
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = S + Дк
| | 1.0111101000
|
|
|
| S = ЛЗЛ(S), 0
| |
|
|
|
|
| S = S - Дк
| | 1.0111101000
+ 1.01101
0.0100101000
| S>0
|
|
| Q = 1
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 0.1001010000
+ 1.01101
1.1111110000
|
|
|
| S = ЛЗЛ(S), 0
| | 1.1111100000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S - Дк
| | 1.1111100000
+ 1.01101
1.0110000000
| S<0
|
|
| Q = 0
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = S + Дк
| | 1.0110000000
+ 0.10011
0.1111100000
|
|
|
| S = ЛЗЛ(S), 0
| | 0.1111100000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| Кінець
|
Результат Ч = 0100000, перший розряд треба розуміти як знаковий, тобто результат у
прямому коді дорівнює 0.100000 (крапка відділяє розряд знаку від вагових розрядів).
Результат додатній
0.1001110010: 0.10011 = 0.100000
4.8 Виконати операцію ділення 10-розрядного двійкового коду (10)(1ц2л)(1ц8л) на 5-розрядний двійковий код (1)(1ц1л) методом без відновлення залишків. Навести алгоритм ділення й таблицю, яка відображає зміни всіх операндів (діленого, дільника, лічильника,
Частки, окремих розрядів та ознак), які беруть участь у множенні, після виконання кожного з операторів алгоритму.
(10)(1ц2л)(1ц8л) = 10 0111 0010
(1)(1ц1л) = 1 0011
Алгоритм ділення:
В алгоритмі використанітакі позначення:
Лч - лічильник;
Ч - частка;
n - кількість двійкових розрядів частки без знаку. Для визначення кількості двійкових розрядів частки при діленні цілого числа на ціле необхідно в прямому двійковому коді написати одне під одним ділене і дільник, вирівнявши їх за одиницею в старшому розряді. Тоді кількість розрядів цілої частини частки n буде дорівнювати різниці довжин вирівняних дільника і діленого, збільшеній на 1;
Дк - дільник;
Де - ділене;
Зн - знак;
# - позначення операції додавання за модулем 2;
S - суматор, на початку виконання алгоритму в ньому буде знаходитися ділене;
ЛЗЛ(Х),(Y) - логічний зсув ліворуч числа X, на звільнене місце наймолодшого розряду праворуч записується двійковий розряд Y.
Де = 00.1001110010 (доповняльний код);
Де = + 1001110010 (прямий код);
Дк = 00.10011 (доповняльний код);
-Дк = 11.01101 (доповняльний код).
Визначення n:
Де = +1001110010, Дк = +10011. Де довше за Дк на 5 бітів, тобто n= 5+1 = 6.
| Лч
| S
| Зн S
| Q
| Ч
| Наступна операція
| |
| 00.1001110010
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), Q
| |
|
|
|
| S = S - Дк
| | 00.1001110010
+ 11.01101
00.0000010010
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), /Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 00.0000100100
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S - Дк
| | 00.0000100100
+ 11.01101
11.0111000100
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), /Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 11.0111000100
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S + Дк
| | 11.0111000100
+ 00.10011
00.0000100100
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), /Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 00.0001001000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S + Дк
| | 00.0001001000
+ 11.01101
11.0111101000
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), /Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 11.0111101000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S - Дк
| | 11.0111101000
+ 00.10011
00.0001001000
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), /Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 00.00100100000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| S = S + Дк
| | 00.00100100000
+ 11.10001
11.1010110000
|
|
|
| Q = ЗнS # ЗнДк
| |
|
|
|
| Ч = ЛЗЛ(Ч), /Q
| |
|
|
|
| S = ЛЗЛ(S), 0
| | 11.0101100000
|
|
|
| Лч = Лч - 1
| |
|
|
|
|
| Кінець
|
Результат Ч = 0100000, перший розряд треба розуміти як знаковий, тобто результат у доповняльному коді дорівнює 0.100000 (крапка відділяє розряд знаку від вагових розрядів).
Результат додатній
0.1001110010: 0.10011 = 0.100000
4.9 Виконати операції додавання A+B, віднімання A-B, множення AB і ділення A/B над числами, представленими у форматі з рухомою комою. Число A складається з кодів 2ц1л і 2ц8л, число B складається з кодів 2ц2л і 2ц7л. Формат операндів і результатів повинен задовільняти вимогам табл. ТZ5.
2ц1л = 5; 2ц8л = 8;
2ц2л = 8; 2ц7л = 3.
A = 5816 = 0 101 10002
B = 8316 = 1 000 00112
Операція додавання А+В
| Аналіз і підготовка операндів
| Операнд A
| Операнд B
| | Операнди у форматі з рухомою комою (шістнадцятковий код)
|
|
| | Операнди у форматі з рухомою комою (двійковий код)
|
|
| | Розбиті на поля операнди у форматі з рухомою комою
| 0.101.1000
| 1.000.0011
| | Знак
| + (0)
| + (0)
| | Характеристика
| 5 = 101
| 6 = 110
| | Показник порядку
| 1 = 5 - 4
| 2 = 6 - 4
| | Порядок
| 2 = 21
| 4 = 22
| | Мантиса
| 23/32=0,10111
| 19/32=0,10011
| | Величина числа
| +2*23/32=+23/16
| +4*19/32=+19/8
| | Примітка
| A=+23/16
| B=+19/8
| | Вирівняний порядок – порядок результату
| 4 = 22
|
| | Мантиса, яка відповідає вирівняному порядку
| ¼ =0,010000
|
| | Визначення результату
| Результат:
| | Знак результату
| + (0)
| | Мантиса результату визначається додаванням мантис операндів у модифікованому доповняльному коді
| 00.10011
+ 00.010111
00.111101
| | Заокруглення мантиси результату (в дужках – розряди, які відкидаються)
| 00.11110(1)
| | Мантиса результату
| 15/16 = 00.11110
| | Показник порядку результату
|
| | Порядок результату
| 8 = 23
| | Величина результату
| 60/16=+8*15/16
| | Характеристика результату
| 7=3+4=111
| | Розбитий на поля результат у форматі з рухомою комою
| 0.111.1110
| | Результату у форматі з рухомою комою (двійковий код)
|
| | Результату у форматі з рухомою комою (шістнадцятковий код)
| 7Е
| | Примітка
| A+B=23/16+19/8=61/16 ≈ 60/16
|
Операція додавання А-В
| Аналіз і підготовка операндів
| Операнд A
| Операнд B
| | Операнди у форматі з рухомою комою (шістнадцятковий код)
|
|
| | Операнди у форматі з рухомою комою (двійковий код)
|
|
| | Розбиті на поля операнди у форматі з рухомою комою
| 0.101.0111
| 0.110.0011
| | Знак
| + (0)
| + (0)
| | Характеристика
| 5 = 101
| 6 = 110
| | Показник порядку
| 1 = 5 - 4
| 2 = 6 - 4
| | Порядок
| 2 = 21
| 4 = 22
| | Мантиса
| 23/32=0,10111
| 19/32=0,10011
| | Величина числа
| +2*23/32=+23/16
| +4*19/32=+19/8
| | Примітка
| A=+23/16
| B=+19/8
| | Визначення результату
| Результат:
| | Знак результату
| - (1)
| | Мантиса результату визначається відніманням мантис операндів, результат ненормалізований
| 00.10011
+ 11.01001
11.11100 = 1.00100
| | Нормалізація мантиси результату (2 зсуви ліворуч)
| 1.10000
| | Мантиса результату
| -15/16 = 1.11100
| | Зменшення показника порядку результату на 2 для компенсації нормалізації мантиси результату
| 2-2=0
| | Показник порядку результату
|
| | Порядок результату
| 1 = 20
| | Величина результату
| -15/16=+1*(-15/16)
| | Характеристика результату
| 4=0+4=100
| | Розбитий на поля результат у форматі з рухомою комою
| 1.100.1100
| | Результату у форматі з рухомою комою (двійковий код)
|
| | Результату у форматі з рухомою комою (шістнадцятковий код)
| СС
| | Примітка
| A-B=23/16-19/8=-15/16
|
Операція додавання А*В
| Аналіз і підготовка операндів
| Операнд A
| Операнд B
| | Операнди у форматі з рухомою комою (шістнадцятковий код)
|
|
| | Операнди у форматі з рухомою комою (двійковий код)
|
|
| | Розбиті на поля операнди у форматі з рухомою комою
| 0.101.0111
| 0.110.0011
| | Знак
| + (0)
| + (0)
| | Характеристика
| 5 = 101
| 6 = 110
| | Показник порядку
| 1 = 5 - 4
| 2 = 6 - 4
| | Порядок
| 2 = 21
| 4 = 22
| | Мантиса
| 23/32=0,10111
| 19/32=0,10011
| | Величина числа
| +2*23/32=+23/16
| +4*19/32=+19/8
| | Примітка
| A=+23/16
| B=+19/8
| | Визначення результату
| Результат:
| | Знак результату
| + (0)
| | Мантиса результату визначається перемноженням мантис операндів, результат ненормалізований
| 0.10111
* 0.10011
+10111
+00000
+00000
+10111
0.0110110101
| | Нормалізація мантиси результату (1 зсув ліворуч)
| 0.1101101010
| | Заокруглення мантиси (в дужках – розряди, які відкидаються)
| 0.11011(01010)
| | Мантиса результату
| 27/32 = 0.11011
| | Порядок результату визначається додаванням показників порядків операндів
| 1+2=3
| | Зменшення показника порядку результату на 1 для компенсації нормалізації мантиси результату
| 3-1=2
| | Показник порядку результату
|
| | Порядок результату
| 4 = 22
| | Величина результату
| 108/32=+4*27/32
| | Характеристика результату
| 7=3+4=111
| | Розбитий на поля результат у форматі з рухомою комою
| 0.111.1011
| | Результату у форматі з рухомою комою (двійковий код)
|
| | Результату у форматі з рухомою комою (шістнадцятковий код)
| 7В
| | Примітка
| A*B=23/16*19/8≈108/32
|
Операція додавання А/В
| Аналіз і підготовка операндів
| Операнд A
| Операнд B
| | Операнди у форматі з рухомою комою (шістнадцятковий код)
|
|
| | Операнди у форматі з рухомою комою (двійковий код)
|
|
| | Розбиті на поля операнди у форматі з рухомою комою
| 0.101.0111
| 0.110.0011
| | Знак
| + (0)
| + (0)
| | Характеристика
| 5 = 101
| 6 = 110
| | Показник порядку
| 1 = 5 - 4
| 2 = 6 - 4
| | Порядок
| 2 = 21
| 4 = 22
| | Мантиса
| 23/32=0,10111
| 19/32=0,10011
| | Величина числа
| +2*23/32=+23/16
| +4*19/32=+19/8
| | Примітка
| A=+23/16
| B=+19/8
| | Визначення результату
| Результат:
| | Знак результату
| + (0)
| | Мантиса результату визначається діленням мантис операндів, результат нормалізований
| 0.10111:0.10011=0.1111
-0.1001
0.01110
-0.100
0.01010
-0.10
0.01000
-0.1
0.00111
| | Мантиса результату
| 15/16 = 0.11110
| | Порядок результату визначається відніманням показників порядків операндів
| 1-2=-1
| | Порядок результату
| 1/2 = 2-1
| | Величина результату
| 15/32=+1/2*15/16
| | Характеристика результату
| 3=-1+4=011
| | Розбитий на поля результат у форматі з рухомою комою
| 0.011.1110
| | Результату у форматі з рухомою комою (двійковий код)
|
| | Результату у форматі з рухомою комою (шістнадцятковий код)
| 3Е
| | Примітка
| A/B=(23/16)/(19/8)≈15/32
|
|