Кодирование отрицательных чисел

Для выполнения арифметических операций двоичные числа кодируются специальными машинными кодами: прямыми, дополнительными и обратными, позволяющими заменить операции вычитания операциями суммирования, что упрощает построение арифметическо-логических устройств.

Прямой код. Представление двоичных чисел в прямом коде основано на подаче их в абсолютном виде с соответствующим знаком: плюсом (0) или минусом (1).

Формула для образования прямого двоичного числа имеет вид:

Пример 2. а) N = +0.0101; N пр= 0.0101.

б) N = – 0.0101; N пр = 1 – (– 0.0101) = 1.0101.

Ноль в прямом коде может выглядеть двояко, т.е. может быть и положительным и отрицательным

а) N = +0.00...00; N пр = 0.00...00;

б) N = – 0.00...00; N пр = 1.00...00.

Прямой код используется для хранения чисел в устройствах ввода и вывода информации, а также при выполнении операции умножения.

Обратный код. Формула для образования обратного кода имеет вид

Пример 2. N = – 0.1010112, N обр = 102 – 0.101011 – 0.000001 = –1.010100

Обратный код положительного числа полностью совпадает с изображением числа в прямом коде. Для получения обратного кода отрицательного числа, нужно в знаковом разряде этого числа поставить единицу, а в числовых разрядах нули заменить единицами, а единицы - нулями.

В обратном коде нуль изображается неоднозначно:

N = + 0.00...00; N обр = 0.00...00;

N = – 0.00...00; N обр = 1.11...11.

Дополнительный код. Формула для образования дополнительного кода двоичного числа имеет вид

Пример 3. N = 0.1010 = 102 + (– 0.1010) = – 1.0101.

Дополнительный код положительного числа полностью совпадает с изображением числа в прямом коде.

Чтобы записать отрицательное число в дополнительном коде, нужно в знаковом разряде этого числа поставить единицу, во всех числовых разрядах нули заменить единицами, единицы – нулями и к полученному результату прибавить единицу младшего разряда.

Пример 4. N = – 0.1010, N обр= 1.0101, N доп = 1.0110.

В дополнительном коде отрицательный нуль отсутствует.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: