1.2. Арифметичні основи комп'ютерної схемотехніки
1.2.1. Принципи побудови системи числення
Числова інформація в комп'ютерах характеризується:
системою числення (двійкова, десяткова та ін.);
видом числа (числа дійсні, комплексні, масиви);
типом числа (змішане, ціле, дробове);
формою представлення числа (місце коми) — з природною (змінною), фіксованою, плаваючою комами;
розрядною сіткою і форматом числа;
діапазоном і точністю подання чисел;
способом кодування від'ємних чисел — прямим, оберненим та доповняльним кодами;
алгоритмами виконання арифметичних операцій.
Системою числення називається сукупність цифр і правил для записування чисел. Запис числа у деякій системі числення називається його кодом. Усі системи числення поділяють на позиційні й непозиційні. Для запису чисел у позиційній системі числення використовують певну кількість графічних знаків (цифр і букв), які відрізняються один від одного. Число таких знаків q називається основою позиційної системи числення. В комп'ютерах використовують позиційні системи з різною основою.
Система числення з основою два (цифри 0 і 1) називається двійковою, система числення з основою три (цифри 0, 1,2) — трійковою і т.д. У системах числення з основою меншою десяти використовують десяткові цифри, а для основи більшої десяти добавляють букви латинського алфавіту — Д В, С, D, E, F. Далі в позначеннях при необхідності пишуть десятковий індекс, що дорівнює основі системи числення, яка застосована (табл. 1.1).
У позиційних системах числення значення кожної цифри визначається її зображенням і позицією в числі. Окремі позиції в записі числа називають розрядами, а номер позиції — номером розряду. Число розрядів у записі числа називається його розрядністю і збігається з довжиною числа.
Таблиця 1.1
Основа q |
Система числення |
Знаки |
2 |
Двійкова |
0,1 |
3 |
Трійкова |
0,1,2 |
5 |
П'ятіркова |
0,1,2,3,4 |
8 |
Вісімкова |
0, 1,2,3,4,5,6,7 |
10 |
Десяткова |
0, 1,2,3,4,5,6,7,8,9 |
16 |
Шістнадцяткова |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, А, В, С, D, Е, F |
У непозиційних системах числення значення кожної цифри не залежить від її позиції. Найвідомішою непозиційною системою є римська, в якій використовуються сім знаків — I, V, X, L, С, D, М, що відповідають таким значенням:
І V X L С D М
1 5 10 50 100 500 1000
Наприклад: III — 3; LIX — 59; DLV — 555.
Недоліком непозиційної системи є відсутність нуля та формальних правил запису чисел і відповідно арифметичних дій з ними (хоч за традицією римськими числами часто користуються при нумерації розділів у книгах, віків у історії та ін.). Система числення повинна забезпечувати:
можливість представлення будь-якого числа в заданому діапазоні;
однозначність, стислість запису числа і простоту виконання арифметичних операцій;
досягнення високої швидкодії машини в процесі оброблення інформації.
Число в позиційній системі можна представити поліномом:
(1.1)
де q — основа системи числення; ql — вага позиції; at є {0, 1, ..., (q - 1)} —цифри в позиціях числа; 0, 1, ..., к— номери розрядів цілої частини числа; -1, -2, ..., -т — номери розрядів дробової частини числа.
Позиційні системи з однаковою основою в кожному розряді називаються однорідними. Оскільки на значення q немає ніяких обмежень, то теоретично можлива нескінченна множина позиційних систем числення.
На практиці застосовують скорочений запис полінома (1.1) у вигляді послідовності цифр із знаком залежно від типу числа:
• для змішаного числа
Аq = ± ак ак-1 ... аi а0 , а-1... a-m; (1.1, а)
• для цілого числа
Аq = ± ак ак-1 ... а1а0; (1.1,б)
• для правильного дробу
Аq = ± 0, а-1 a-2... а-т. (1.1, в)
Приклад 1.1
Ілюстрація запису чисел у вигляді послідовності цифр (1.1,а,б,в) і відповідного полінома (1.1):
• двійкова система: q = 2; а, є {0, 1}:
А2 = 111,01 = 1∙22 + 1∙21 + 1∙20 + 0∙2-1+ 1∙2-2 = 7,2510;
вісімкова система: q = 8;аi є {0, 1, 2, ..., 7):
A8 = 45,21 = 4∙81 + 5∙80 + 2∙8-1 + 1∙8-2 = 37,26510;
десяткова система: q = 10; а, є {0, 1, 2, ..., 9}:
A10 = 135,64= 1∙102 + 3∙101 + 5∙100 + 6∙10-1+4∙10-2;
шістнадцяткова система: q = 16; ai = {0, 1, ..., F}:
A16 = DE,lB = D∙16l +E∙160 + 1∙16-1 +5∙16-2=
= 13∙161+ 14∙160+ 1∙16-1 + 11∙16-2 = 222,10510.
Розглянуті записи чисел показують один із способів переведення недесяткових чисел у десяткові. При однаковій розрядності в системах числення з більшою основою можна записати більше різних чисел.
Достоїнством двійкової системи є: простота виконання арифметичних операцій; наявність надійних мікроелектронних схем з двома стійкими станами (тригерів), призначених для зберігання значень двійкового розряду — цифр 0 або 1. Двійкові цифри називають також бітами. У двійково-десятковій системі числення кожна десяткова цифра записується чотирма двійковими розрядами (тетрадами).
Приклад 1.2
Запис десяткового числа в двійково-десятковій системі:
