Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 (1).doc
Скачиваний:
98
Добавлен:
12.05.2015
Размер:
1.24 Mб
Скачать

Кодування чисел

Для спрощення арифметичних операцій, числа в цифрових пристроях ЕОМ подаються спеціальними кодами - прямим,оберненимідодатковим.

Всі три способи використовують самий лівий (старший) розряд бітового набору довжини nдля кодування знака числа: знак "плюс" кодується нулем, а "мінус" - одиницею. Інші n-1розрядів (цифрова частина) використовуються для представлення абсолютної величини числа.

Додатні числа у прямому, оберненому та додатковому кодах записуються однаково - двійковим кодом числа з цифрою 0 у знаковому розряді. Наприклад, при розмірі розрядної сітки n= 8:

Від’ємні числа в прямому, зворотному і додатковому кодах мають різне представлення.

Прямий кодвід’ємного числа відрізняється від прямого коду додатного числа тим, що значення його знакового розряду дорівнює не 0, а 1. Наприклад, прямий код чисел -1 і -127 у 8-розрядній сітці:

У прямому коді в розрядну сітку комп'ютера можна записати наступне максимальне за абсолютним значенням число:

Хп max = 0111…1= 2n-1 -1,

де n- кількість розрядів розрядної сітки комп'ютера.

Діапазон зміни машинного представлення цілих чисел для прямого коду лежить в межах

–(2n-1 -1) < [Хп] < (2n-1 -1).

Обернений кодвід’ємного числа отримується із прямого коду шляхом заміни його цифр на їх доповнення до1. Код знака зберігається без змін. Заміна цифр їх доповненням для двійкової системи співпадає з операцією інверсії, тобто у всіх розрядах нулі потрібно замінити на1, а одиниці - на 0. Наприклад, обернений код чисел-1і-127у8-розрядній сітці:

Діапазон зміни машинного представлення цілих чисел для оберненого коду: -(2n-1–1) .. 0.

Додатковий код від’ємного числа отримується із оберненого коду збільшенням на1його молодшого розряду. При цьому перенос із знакового розряду ігнорується. Наприклад, додатковий код чисел-1і-127у8-розрядній сітці:

Діапазон зміни машинного представлення цілих чисел для додаткового коду: -2n-1 ..-1.

Додатковий код є математичним доповненням основи q:

|X| + Хд = qn ,

де |Х|- абсолютне значення числа,n- кількість розрядів у представленні числа. Відповідно додатковий код від’ємногодвійкового числаХ, що зберігається вnбітах, можна визначити як2n -|X|. По суті, додатковий код являє собою доповнення|Х| до 0: так як вn-розрядній двійковій арифметиці(двійкова запис цього числа складається з 1 іnнулів, а вn-розрядну комірку поміщаються тількиnмолодших розрядів, тобтоnнулів). Наприклад, приn = 8

(+1)д = 1 = 000000012 ;

(–1)д = 28 - |-1|= 256 –1 = 25510 = 111111112 ;

(–127)д = 28 - |-127|= 256 –127 = 12910 = 100000012 .

Для перевірки правильності треба скласти додатковий код з самим числом: результат повинен бути рівним2n.

Таким чином, у системі двійкових чисел зі знаком заміна додатнього числа на рівне йому по модулю від’ємне і навпаки, від’ємного - на додатнє, здійснюється застосуванням до коду даного числа операції доповнення3. Ця властивість представлення від’ємних чисел у додаткових кодах дозволяє при виконанні арифметичних операцій взагалі відмовитися від операції віднімання, замінивши її операцією додавання з числом, що має знак, протилежний знаку від'ємника.

Саме так і виконуються арифметичні операції над числами електронними пристроями комп'ютера. Якби комп'ютер обробляв прямі коди додатних і від’ємних чисел, то при виконанні арифметичних операцій слід було б виконувати ряд додаткових дій. Наприклад, при додаванні потрібно було б перевіряти знаки обох операндів і визначати знак результату: якщо знаки однакові, то обчислюється сума операндів і їй присвоюється той же знак; якщо ж знаки різні, то з більшого по абсолютній величині числа віднімається менше і результату присвоюється знак більшого числа. Тобто, при представленні чисел лише у прямому коді, операція додавання реалізується через досить складний алгоритм. Куди простіше складати числа, якщо від’ємні числа перетворені в додатковий код.

Тому додатні числа в комп'ютері представляються за допомогою прямого коду, для представлення ж від’ємних чисел використовується додатковий код.

Як правило, десяткові числа при введенні в комп’ютер автоматично перетворюються в двійковий код (цілі без знака), обернений або додатковий код (цілі з знаком) і в такому вигляді зберігаються, переміщуються і беруть участь в операціях. При виведенні результатів з ЕОМ відбувається зворотне перетворення в десяткові числа.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]