Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по микропроцессорам Щеглов.DOC
Скачиваний:
22
Добавлен:
17.09.2019
Размер:
8.33 Mб
Скачать

1.4.1. Прямой код.

Прямой код числа X определяется следующим образом:

(1.16)

Из (1.16) следует, что ноль имеет два представления:

Пример 1.12.

Представить в прямом коде двоичные числа (+1000010)2 и (-1000010)2:

а) [+1000010]пр=0 1000010

б) [-1000010]пр=1 1000010

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

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

Дополнительный код числа X определяется следующим образом:

(1.18)

Пример 1.13.

Представить в дополнительных кодах двоичные числа (+1000010)2 и (-1000010)2:

а) [+1000010]доп=0 1000010

б) [-1000010]доп=28-1000010=10 0000000-1000010=1 0111110

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

Ноль в дополнительном коде имеет единственное представление:

[+0]доп=[-0]доп=[0]доп=

К ак следует из (1.18) дополнительный код осуществляет отображение отрицательных чисел на область положительных чисел (рис. 1.1)

1.4.3. Обратный код числа.

Обратный код числа X определяется следующим образом:

(1.19)

Пример 1.14.

Представить в обратном коде двоичные числа (+1000010)2 и (-1000010)2

а) [+1000010]обр=0 1000010

б) [-1000010]обр=28-1000010-1=10 0000000-1000010-1=1 0111101

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

Ноль в обратном коде имеет два представления:

К ак следует из (1.19) обратный код, также как и дополнительный, осуществляет отображение отрицательных чисел на область положительных чисел (Рис. 1.2.).

На основании (1.19) можно установить связь между обратным и дополнительным кодом,

[X]обр=[X]доп-1, X0 (1.20)

откуда можно получить другое правило образования дополнительного кода,

[X]доп=[X]обр+1. (1.21)

Это правило используется в ЭВМ при переходе к дополнительному коду числа.

1.4.4. Выполнение арифметических действий с кодами.

Обратный и дополнительный код чисел обладают свойством линейности относительно операций сложения и вычитания

[X+Y]=[X]+[Y]

[X-Y]=[X]+[-Y] (1.22)

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

Пример 1.15.

Сложить двоичные числа (+1001001)2 и (-110010)2

а )

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