/p>
- позитивний 0;
- негативний 0.
Обидва уявлення абсолютно рівноправні.
Подання числа у звичній формі знак - величина raquo ;, при якій старший розряд осередку відводиться під знак, а решта - під запис числа в двійковій системі, називається прямим кодом двійкового числа. Наприклад, прямий код двійкових чисел 1001 і - +1001 для 8-розрядної комірки дорівнює 00001001 і 10001001 відповідно.
Позитивні числа в ЕОМ завжди представляються за допомогою прямого коду. Прямий код числа повністю збігається із записом самого числа в комірці машини. Прямий код негативного числа відрізняється від прямого коду відповідного позитивного числа лише вмістом знакового розряду. Але негативні цілі числа не подаються у ЕОМ з допомогою прямого коду, для їх подання використовується так званий додатковий код.
Додатковий код позитивного числа дорівнює прямому кодом цього числа. Додатковий код негативного числа m дорівнює 2k- | m |, де k - кількість розрядів в комірці.
Як вже було сказано, при поданні невід'ємних чисел в беззнакову форматі всі розряди осередку відводяться під саме число. Наприклад, запис числа 243=11110011 в одному байті при беззнакову поданні буде виглядати наступним чином: 1 1 1 1 0 0 1 1
При поданні цілих чисел зі знаком старший (лівий) розряд відводиться під знак числа, і під власне число залишається на один розряд менше. Тому, якщо наведене вище стан осередку розглядати як запис цілого числа зі знаком, то для комп'ютера в цьому осередку записано число - 13 (243 + 13=256=28).
Але якщо це ж негативне число записати в комірку із 16-ти розрядів, то вміст комірки буде наступним: 1111111111110011.
Заміна операції віднімання (алгебраїчного додавання) на арифметичне додавання в комп'ютері здійснюється за допомогою зворотного і додаткового кодів.
Додатковий і зворотний коди позитивного числа збігаються з прямим кодом.
Одиницю в старшому розряді суми можна просто закреслювати, що рівносильно зрушення коду.
Додатковий код виходить шляхом додавання одиниці до молодшого розряду зворотного коду.
У додатковому коді нуль має єдине подання. Для даної довжини розрядної сітки додатковим кодом представляється на одиницю більше негативних чисел, ніж позитивних.
Алгоритм отримання додаткового коду негативного числа.
Модуль числа представити прямим кодом в k довічних розрядах.
Значення всіх біт, крім знакового, інвертувати: всі нулі замінити на одиниці, а одиниці на нулі (таким чином, виходить k-розрядний зворотний код вихідного числа); До отриманого зворотного коду, додати одиницю до молодшого розряду з урахуванням переносів.
1.2 Системи числення
Система числення (далі СС) - сукупність прийомів і правил для запису чисел цифровими знаками.
Найбільш відома десяткова СС, в якій для запису чисел вживаються цифри 0,1,9. Способів запису чисел цифровими знаками існує безліч. Будь-яка призначена для практичного застосування СС повинна забезпечувати:
можливість подання будь-якого числа в розглянутому діапазоні величин;
єдиність подання (кожної комбінації символів повинна відповідати одна і тільки одна величина);
простоту оперування числами;
У залежності від способів зображення чисел цифрами, системи числення діляться на непозиційної і позиційні. Непозиционной системою називається така, в якій кількісне значення кожної цифри не залежить від займаної їй позиції в зображенні числа (римська система числення). Позиційною системою числення називається така, в якій кількісне значення кожної цифри залежить від її позиції в числі (арабська система числення). Кількість знаків або символів, що використовуються для зображення числа, називається основою системи числення.
Позиційні системи числення мають ряд переваг перед непозиційних: зручність виконання арифметичних і логічних операцій, а також подання великих чисел, тому в цифровій техніці застосовуються позиційні системи числення.
Запис чисел може бути представлена ??у вигляді:
(1)
де A (D) - запис числа A до СС D; i - символ системи, що утворюють базу.
За цим принципом побудовані непозиційної СС.
У загальному ж випадку системи числення: A (B)=a1B1 + a2B2 + ... + anBn. Якщо покласти, що Bi=q * Bi - 1, а B1=1, то отримаємо позиційну СС. При q=10 ми маємо справу із звичною нам десяткової СС.
На практиці також використовують інші СС.