Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КОНСПЕКТ З ЦСХ 2.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.8 Mб
Скачать

1.2.4. Кодування від’ємних чисел.

Для записування знака числа, заміни операції віднімання чисел додаванням їхніх кодів, а також для визначення переповненої розрядної сітки використовують ПРЯМИЙ [А]пр., ОБЕРНЕНИЙ [А]об. і ДОПОВНЯЛЬНИЙ [А]д коди. В них для представлення знака числа відводиться знаковий розряд, який розташовується зліва від числа і відокремлюється комою. У знаковий розряд записують нуль – для додатного числа або одиницю – для від’ємного числа.

Числа, представлені в прямому, оберненому і доповняльному кодах, називають машинними зображеннями. Вони складаються зі знакового розряду і цифрової частини. Цифрова частина називається модулем. Додатні числа в усіх кодах записуються однаково.

[А]пр = [А]об = [А]д

Для від’ємних чисел з довжиною мантиси k бітів коди визначають за такими правилами:

прямий код

1 + | A | - для дробу;

[A]пр = {

+ | A | - для цілого числа;

обернений код

2 - | A | - - для дробу;

[A]об = {

- | A | - для цілого числа;

доповняльний код

2 - | A | - для дробу;

[A]д = {

- | A | - для цілого числа.

Обернений код від’ємного двійкового числа утворюється з його прямого коду після інвертування значень розрядів цифрової частини, тобто заміною нуля на одиницю і одиниці на нуль, значення знакового розряду не змінюється. Доповняльний код від’ємного двійкового числа утворюється з його оберненого коду додаванням одиниці до молодшого розряду.

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

Приклади.

Запис у прямих кодах А = 10102 і В = -10102

[A]пр = 0,1010 [В]пр = 1,1010

Запис у оберненому і доповняльному кодах

А = 011012 і В = - 011012

[A]пр = [A]об = [A]д = 0,01101;

[В]пр = 1,01101;

[В]об = 1,10010;

[В]д = 1,10011.

Зворотній перехід від [В]д до [В]пр для від’ємного числа проводиться в два етапи.

1. Перетворюємо [В]д у [В]об , інвертуючи цифрову частину

1.10011 1.01100.

2. Додаємо одиницю до молодшого розряду, щоб перейти до прямого коду від’ємного числа [В]пр

[В]об = 1,01100

+ 1

________________

[В]пр = 1,01101

Використовуючи прямі, обернені і доповняльні коди можна проводити арифметичні дії над числами у двійковій системі числення.