Мы поможем в написании ваших работ!
ЗНАЕТЕ ЛИ ВЫ?
|
Лзл(х),(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
|
|