Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
59
Добавлен:
28.01.2014
Размер:
32.26 Кб
Скачать

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

свести операцию вычитания к операции сложения; автоматически получать знак суммы (разности); выявлять переполнение разрядной сетки. Существуют следующие коды: прямой (ПК); обратный (ОК); дополнительный (ДК).

Положительные числа во всех кодах записываются одинаково. Наиболее просто числа записываются в ПК, для этого достаточно в знаковом разряде записать знак («О» или «1»), а цифровые раз­ряды оставить без изменения. Например, для чисел с ФТ прямой код чисел получается следующим образом:

А2 = +1001010 -» Апк = 0 1001010;

А2 = -1001010 -> Апк = 1 1001010.

Прямой код числа А определяется следующим соотношением:

Апк = А при А > 0;

Апк = Z+ \А\ при А<0,

где Z — вес знакового разряда.

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

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

Л2 = +1011011 -» Апк = 0 1011011 -^Лок = 0 1011011;

А2 = -1011011 -» Апк = 1 1011011 -> Аок = 1 0100100.

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

Аок = 2 _ 2-(-D - \А\; (2.1)

если А — целое число с ФТ,

Аок = 2" - 1 - \А\,

где п — разрядность числа.

Особенностью ОК является различное представление цифро­вых разрядов положительного и отрицательного нулей:

А2 = +0000000 -» Апк = 0 0000000 -> Аок = 0 0000000;

А2 = -0000000 -» Апк = 1 0000000 -> Аок = I 1111111.

Для получения ПК отрицательного числа из ОК цифровые раз­ряды инвертируют:

Аок= 1 0011101 -» Лпк= 1 1100010 -> Л2 = -1100010.

Дополнительный код отрицательного числа получают из ОК прибавлением единицы к младшему разряду. Положительные числа в ДК записываются так же, как и в прямом. Например:

30

А2 = + 1110101 -»ЛПК = 0 1110101 -> Лок = = 0 1110101 ->ЛДК = 0 1110101;

Л2 = - 1110101 -> Лпк = 1 1110101 -» Лок = = 1 0001010 -» Аак = 1 0001011.

Дополнительный код числа А определяется из формулы (2.1) с учетом прибавления единицы младшего разряда:

Аок= 2 - \А\, если А — дробное число с ФТ;

док_ 2" - \А\, если А — целое число с ФТ.

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

А2 = + 0000000 -» Апк- 0 0000000 -» Аок = = 0 0000000 -» Адк= 0 0000000;

А2 = -0000000 -» Апк= 1 0000000 -> Аок = = 1 1111111 -^Адк= 0 0000000.

Для получения ПК отрицательного числа из ДК сначала ин­вертируются цифровые разряды, а затем к младшему разряду при­бавляется единица:

Лдк = 1 0001011 -> 1 1110100 -» Апк = 1 1110101 -> ^2 = -1110101.

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

Соседние файлы в папке Ответы