Прямий кодПрямий код — спосіб подання двійкових чисел із нерухомою комою в комп'ютерній арифметиці. Переважно використовують для запису невід'ємних чисел. У разі використання прямого коду для чисел як додатних, так і від'ємних, тобто чисел, запис яких передбачає можливість використання знака мінус (знакових чисел), цифрові розряди числа, що зберігаються, доповнюють знаковим розрядом. Подання числа зі знаком у прямому кодіУ записі числа в прямому коді старший розряд (старший біт) оголошують знаковим розрядом (знаковим бітом). Якщо знаковий біт дорівнює 0, число додатне, інакше — від'ємне. В інших розрядах (які називають цифровими розрядами) записується двійкове подання модуля числа. Функція кодування двійкових чисел (зокрема, цілих чисел та мішаних дробів) у прямому коді має вигляд: де — номер знакового розряду (знакового біта). Зокрема, при кодуванні правильних двійкових дробів (тобто чисел, які задовольняють нерівність ), і функція кодування набуває вигляду: Величину числа у прямому коді визначають за такою формулою: де:
Як видно з останньої формули, знаковий розряд у прямому коді не має розрядної ваги. Під час виконання арифметичних операцій у прямому коді. це призводить до необхідності окремо опрацьовувати знаковий розряду Приклади
Застосування прямого кодуВ інформатиці прямий код використовують переважно для запису невід'ємних цілих чисел. Його легко отримати з подання цілого числа в будь-якій іншій системі числення. Для цього достатньо перевести число в двійкову систему числення, а потім заповнити нулями вільні зліва розряди розрядної сітки машини. Однак, за використання для чисел зі знаком прямий код має два недоліки:
Виконання арифметичних операцій над числами у прямому коді утруднене: наприклад, навіть для додавання чисел із різними знаками потрібно, крім суматора, мати спеціальний блок-віднімач, складність реалізації якого така ж, як і звичайного суматора. Крім того, при виконанні арифметичних операцій потрібно окремо опрацьовувати знаковий розряд, оскільки він не має ваги. Також потрібна обробка «від'ємного нуля». Таким чином, виконання арифметичних операцій над знаковими числами в прямому коді вимагатиме складнішої архітектури центрального процесора і загалом є неефективним. Значно зручнішим для виконання арифметичних операцій є доповняльний код. Діапазон-розрядний прямий код ( цифрових розрядів та один знаковий) дозволяє подавати:
Див. такожПриміткиЛітература
|
Portal di Ensiklopedia Dunia