ється як:
Розглянемо такий вираз:
[(2p - 1) - y] - зворотний код;
- додатковий код.
4.1 Прямий код
Прямий код - це подання числа в двійковій системі числення, при якому перший (старший) розряд відводиться під знак числа. Якщо число позитивне, то в лівий розряд записується 0; якщо число негативне, то в лівий розряд записується 1.
Таким чином, в двійковій системі числення, використовуючи прямий код, в Восьмирозрядних осередку (байті) можна записати семіразрядний число. Наприклад:
00011010 - позитивне число
00011010 - негативне число
Кількість значень, які можна помістити в семіразрядний осередку зі знаком в додатковому розряді одно 256. Це збігається з кількістю значень, які можна помістити в Восьмирозрядних осередок без вказівки знака. Однак діапазон значень вже інший, йому належать значення від - 128 до 127 включно (при перекладі в десяткову систему числення).
При цьому в обчислювальній техніці прямий код використовується майже виключно для представлення позитивних чисел.
Для негативних чисел використовується так званий додатковий код. Це пов'язано із зручністю виконання операцій над числами електронними пристроями комп'ютера.
4.1.1 Операція складання позитивних чисел, представлених у прямому коді
Прямий код числа 5 raquo ;: 0000 +0101
Прямий код числа 7 raquo ;: 0000 0111
Два вихідних числа порівнюються. У розряд знака результату записується знак більшого вихідного числа.
Якщо числа мають різні знаки, то замість операції додавання використовується операція віднімання з більшого по модулю значення меншого. При цьому перший (знаковий) розряд в операції не бере участь.
Після виконання операції враховується перший розряд. Результат операції 0 000 1100, ( 12 в десяткової системі).
. 2 Зворотний код
У додатковому коді, також як і прямому, перший розряд відводиться для представлення знака числа. Прямий код використовується для представлення?? позитивних чисел, а додатковий - для представлення негативних. Тому, якщо в першому розряді знаходиться 1, то ми маємо справу з додатковим кодом і з негативним числом.
Всі інші розряди числа в додатковому коді спочатку інвертуються (одержання зворотного коду), тобто замінюються протилежними (0 на 1, а 1 на 0). Наприклад, якщо 1 0001100 - це прямий код числа, то при формуванні його додаткового коду, спочатку треба замінити нулі на одиниці, а одиниці на нулі, крім першого розряду. Отримуємо 1 1110011. Але це ще не остаточний вид додаткового коду числа. Далі слід додати одиницю до одержали інверсією числу:
1110011 + 1=1 1110100
У підсумку виходить число, яке прийнято називати додатковим кодом числа.
Причина, по якій використовується додатковий код числа для представлення негативних чисел, пов'язана з тим, що так простіше виконувати математичні операції. Наприклад, є два числа, представлених у прямому коді. Одне число позитивне, інше - негативне і ці числа потрібно скласти. Однак просто скласти їх не можна. Спочатку комп'ютер повинен визначити, що це за числа. З'ясувавши, що одне число негативне, йому слід замінити операцію складання операцією віднімання. Потім, машина повинна визначити, яке число більше по модулю, щоб з'ясувати знак результату і визначитися з тим, що з чого віднімати. У результаті, виходить складний алгоритм. Найефективніше складати числа, якщо негативні перетворені в додатковий код.
. 2.1 Операція складання позитивного числа і негативного числа, представленого в додатковому коді
Прямий код числа 5 raquo ;: 0000 +0101
Прямий код числа - 7 raquo ;: 1 000 0111
Формування додаткового коду числа - 7 .
Прямий код: 1 000 0111
Інверсія (зворотний код): 1 111 1 000
Додавання одиниці (додатковий код): 1 111 1 001
Операція додавання:
Перевірка результату шляхом перетворення до прямого коду.
Додатковий код: 1 111 1110
Віднімання одиниці: 1 111 1101
Інверсія: 1 000 0010 ( - 2 в десяткової системі).
5. Додавання і віднімання чисел з плаваючою комою