Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ОКО-2015.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
5.69 Mб
Скачать
  1. Обратный код.

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

Обратный ( -разрядный) двоичный код отрицательного целого числа состоит из одноразрядного кода знака (1), за которым следует ( )-разрядное двоичное число, представляющее собой инвертированное ( )-разрядное представление модуля числа, то есть для отрицательного числа все цифры числа заменяются на противоположные, а именно (1 на 0, а 0 на 1) и в знаковый разряд заносится единица.

Обратный код числа определяется соотношением:

.

где – максимальное число в -разрядной сетке.

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

Рисунок 2.32 – Отображение -битных наборов двоичных чисел на числовую ось данных обратного кода

Например:

Десятичное

число

Двоичное

число

Обратный

код

Комментарии

(0(10))

0000(2)

0,000

положительный (0)

(0(10))

1111(2)

1,111

отрицательный (0)

(4(10))

0100(2)

0,100

положительная (4)

(- 4(10))

1011(2)

1,011

отрицательная (4)

(3(10))

0011(2)

0,011

положительная (3)

(- 3(10))

1100(2)

1,100

отрицательная (3)

Диапазон представимых чисел: .

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

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

  1. Дополнительный код.

Наиболее распространенный способ представления отрицательных целых чисел в микропроцессорной системе.

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

Дополнительный код является дополнением числа до некоторого граничного числа ( ).

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

Для получения дополнительного кода отрицательного числа существует три способа:

    • все цифры модуля исходного числа заменяются на взаимно обратные, то есть производится инверсия всех цифр числа, затем к полученному значению добавляется единица в младшем разряде;

    • из модуля числа вычитается (1) младший бит, а затем инвертируются все разряды;

    • необходимо записать -битный модуль числа. Затем просматривать число справа налево, сохранить все младшие нули и первую встретившуюся (1), а остальные биты инвертировать.

Дополнительный код числа определяется соотношением:

;

,

где – , равняется весу не существующего в данном числе разряда, расположенного слева от знаковой цифры.

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

Рисунок 2.33 – Отображение -битных наборов двоичных чисел на числовую ось данных дополнительного кода

Например:

Десятичное

число

Двоичное

число

Дополнительный

код

Комментарии

(0(10))

0000(2)

0,000

положительный (0)

(4(10))

0100(2)

0,100

положительная (4)

(- 4(10))

1100(2)

1,100

отрицательная (4)

(3(10))

0011(2)

0,011

положительная (3)

(- 3(10))

1101(2)

1,101

отрицательная (3)

Диапазон представимых чисел: .

Свойства дополнительного кода:

– при сложении чисел в дополнительном коде как беззнаковых чисел получаем дополнительный код суммы. Знаковые биты суммируются обычным образом, а возникающий при их сложении перенос игнорируется;

– любое число в дополнительном коде можно считать младшими битами («хвостом») числа любой длины, если содержимое знакового бита копировать влево. Эта операция называется расширением знака. Используется, когда исходные операнды в операциях сложения и вычитания имеют разную длину.

Свойства кодов:

– операции должны выполняться над данными, представленными в одном и том же коде: ПК-ПК, ОК-ОК, ДК-ДК;

–положительные числа в ПК, ОК, ДК не меняют своего представления;

– результат выполнения операций сложения и вычитания над числами, представленными в ПК, ОК или ДК, являются ПК, ОК или ДК соответственно;

– двоичный набор, представляющий (-0) в ПК и ДК, является запрещенной комбинацией;

– в отличие от ПК, в ОК и ДК нельзя отбрасывать нули после знакового разряда в целой части и нули в конце дробной части отрицательного числа (разрешается отбрасывать 1).