- •Тема 1. Системи числення. Правила переведення цілих та дробових чисел з однієї сч в іншу сч
- •Тема 2. Подання інформації в електронно-обчислювальних машинах.
- •Тема 3. Арифметичні операції в двійковій сч. Додавання і віднімання чисел.
- •Тема 4. Двійкова сч. Виконання операцій множення
- •4.2. Множення чисел представлених у формі з фіксованою комою на двійковому суматорі прямого коду
- •4.3. Особливості множення чисел представлених у формі з плаваючою комою
- •4.4. Множення чисел, представлених у формі з фіксованою комою, на двійковому суматорі доповняльного коду
- •4.5. Множення чисел на двійковому суматорі оберненого коду
- •Тема 5. Арифметичні операції в двійково-десяткових сч
- •Тема 6. Логічні основи цифрових автоматів
- •Тема 7. Елементарні функції алгебри логіки. Функціонально-повні системи логічних функцій
- •Тема 8. Форми представлення функцій алгебри логіки
- •Тема 9. Методи мінімізації булівських функцій
- •Тема 10. Логічні елементи та їх класифікація
- •Тема 11. Базові комбінаційні вузли цифрових автоматів
- •Тема 12. Синтез дешифраторів та шифраторів
- •Тема 13. Синтез мультиплексора та демультиплексора
- •Тема 14. Синтез суматорів
- •Тема 15. Синтез тригерів
- •Тема 16. Синтез лічильників
Тема 2. Подання інформації в електронно-обчислювальних машинах.
У цифрових пристроях використовують дві форми зображення чисел: з фіксованою і плаваючою комою.
Знак двійкового числа з фіксованою комою задається допоміжним розрядом, який встановлюється перед числовим. Для додатних чисел значення допоміжного розряду дорівнює «0», для від’ємних – «1». У таблиці 2.1 наведено три варіанти кодування додатних і від’ємних десяткових чисел чотирирозрядним двійковим кодом.
У першому варіанті, як випливає з таблиці, у кодовій двійковій послідовності мають місце додатний і від’ємний нулі, що призводить до появи проблем під час виконання арифметичних операцій.
Представлення відємних чисел в оберненому коді також не вирішує зазначеної проблеми. Вона вирішується лише тоді, коли відємні числа представлені у доповняльному коді, який обчислюється за формулою:
, де
А– прямий код числа, В – обернений код числа.
На рис.2.1 наведено графічну інтерпретацію зображення додатних і відємних чисел щодо нуля з використанням прямого та доповняльного кодів. Як буде показано пізніше, така форма представлення десяткових чисел суттєво спрощує виконання арифметичних операцій.
Рис.2.1
Таблиця2.1
а3 |
а2 |
а1 |
а0 |
Прямий і доповняльний |
Знак і величина |
Прямий та обернений |
0 |
0 |
0 |
0 |
+0 |
+0 |
+0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
2 |
2 |
2 |
0 |
0 |
1 |
1 |
3 |
3 |
3 |
0 |
1 |
0 |
0 |
4 |
4 |
4 |
0 |
1 |
0 |
1 |
5 |
5 |
5 |
0 |
1 |
1 |
0 |
6 |
6 |
6 |
0 |
1 |
1 |
1 |
7 |
7 |
7 |
1 |
0 |
0 |
0 |
-8 |
-0 |
-7 |
1 |
0 |
0 |
1 |
-7 |
- 1 |
-6 |
1 |
0 |
1 |
0 |
-6 |
-2 |
-5 |
1 |
0 |
1 |
1 |
-5 |
-3 |
-4 |
1 |
1 |
0 |
0 |
-4 |
-4 |
-3 |
1 |
1 |
0 |
1 |
-3 |
-5 |
-2 |
1 |
1 |
1 |
0 |
-2 |
-6 |
- 1 |
1 |
1 |
1 |
1 |
- 1 |
-7 |
-0 |
Приклад 2.1. Знайти доповняльні коди десятковим числам:
Розвязання. Знаходимо двійкові еквіваленти заданих чисел у 8-розрядній формі запису, де старший розряд є знаковим:
Для отримання доповняльного коду відємного числа до його оберненого коду додамо одиницю:Додатні числа, а також число 0, подаються в прямому, оберненому і доповняльному кодах однаково.
Тепер пояснимо суть запису чисел з фіксованою комою. Будь-яке число у цифрових системах зберігається спеціальними пристроями памяті, кожен рядок якого складається з фіксованої кількості елементів. Кома, що відділяє в числі цілу частину від дробової, займає в рядку памяті фіксоване положення – перед старшим розрядом або після молодшого.
У першому випадку абсолютне значення числа менше від одиниці – наприклад, то число в ньому запишеться так, як показано на рис.2.2,а, де крайній лівий розряд відображає знак числа, а решта –розряди модуля.
а)
1 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
б)
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
Рис.2.2
Вільні молодші розряди заповнюються нулями. Оскільки у розглянутому випадку в рядку памяті передбачено запис лише дробової частини числа, то і результати всіх операцій повинні бути абсолютним значенням, меншим від одиниці. Виконання цієї умови забезпечується вибором відповідних масштабних коефіцієнтів, які помножуються вихідні дані. Якщо масштабний коефіцієнт обрано неправильно, то може з'явитись переповнення розрядів і ціла частина, яка буде втрачена, оскільки у розрядній сітці не передбачена її поява. Все це призведе до похибки в результаті, що є недоліком такого способу.
У другому випадку, коли кома фіксується після молодшого розряду, маємо справу з цілими числами. Тоді, наприклад, число в рядку пам'яті розміщується відповідно до рис. 2.2, б, де лівий розряд знаковий, а наступні за ним праворуч вільні розряди заповнюються нулями. В цьому випадку величина модуля є обмеженою довжиною рядка пам'яті.
Числа з плаваючою комою передбачають зображення числа з використанням мантиси, що помножується на основу системи числення у степені, яка задається порядком. Наприклад, число 200 записується у вигляді , а число 0,000312 – як . Відповідно записуються і двійкові числа. При цьому мантиса і порядок зображуються у двійковому коді. Наприклад, число в десятковій системі зображується як. В рядку пам'яті такі числа зберігаються у вигляді двох груп цифр: перша група - мантиса - визначає саме число, друга - порядок - місце коми в числі (рис. 2.3).
-
0
1
1
1
0
0
0
0
0
0
0
1
0
0
1
2
3
4
5
6
7
8
9
10
11
12
Рис.2.3
У нульовому (лівому) елементі рядка пам'яті зображується знак числа (для приведеного вище двійкового числа, що записане у рядок пам'яті – (0). Далі задаються вісім розрядів мантиси числа (стовпці 1...8). Якщо вона задається меншою кількістю розрядів, то вільні елементи пам'яті справа заповнюються нулями. У дев'ятому розряді зображується знак порядку, а в решті, за аналогією з мантисою, - число, що визначає порядок. У разі використання такої форми запису величина числа порядку задається так, щоб перша значуща цифра мантиси не дорівнювала (0). Така форма запису називається нормальною.
Мінімальне додатне число, що може бути записане за нормальної форми в рядку пам'яті, визначається мінімальною мантисою та максимальним від'ємним порядком . За кількості к розрядів порядку мінімальне десяткове число, що може бути записаним, визначається за формулою:
(2.1)
Максимальне число матимемо за максимального значення мантиси та максимального додатного порядку , тобто
(2.2)
Діапазон D чисел, представлених у нормальній формі, як випливає з формул (2.1) та (2.2), визначається лише числом к. Наприклад, для к = 6 знаходимо:
Точність запису числа задається кількістю розрядів т мантиси. Якщо кількість розрядів числа перевершує відведену під мантису кількість розрядів, то число округлюють до необхідної довжини. Правило округлення двійкових чисел в цьому випадку таке: якщо старший розряд у частині слова, що відкидається, є одиницею, то до молодшого розряду мантиси додається одиниця. При такому округленні абсолютна похибка є зображення мантиси не перевершує половини вагового коефіцієнта молодшого розряду мантиси, тобто:
Враховуючи, що за нормальної форми запису мантиса не може бути меншою 0,5, відносна похибка :
Наприклад, якщо т = 24, маємо:
У сучасних цифрових системах для зображення чисел з плаваючою комою використовують рядок довжиною чотири байти. При цьому 23 розряди задають мантису, а 7 - величину порядку. Діапазон чисел, що зображуються, становить від до
Використання чисел із плаваючою комою суттєво розширює і спрощує зображення чисел, але виконання операцій над такими числами більш складне, ніж над числами з фіксованою комою.