Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

АРИФМЕТИКА В ОБРАТНОМ И ДОПОЛНИТЕЛЬНОМ КОДАХ



 

Рассмотренные арифметические операции над двоичными числами могут быть сведены к выполнению лишь двух операций; сложения и сдвига. Для этой цели в ЭВМ применяются специальные коды: прямой, обратный и дополнительный.

Для обозначения знака числа, участвующего в операции, в этих кодах выделяется специальный знаковый разряд, в котором записывается 0 для положительного числа и 1 — для отрицательного. Знаковый разряд всегда располагается слева от цифровых разрядов, представляющих данное число.

Прямой код хпр двоичного числа х содержит цифровые разряды этого числа, слева от которых записывается знаковый разряд. Например, для числа х = + 1011 прямой код будет хпр = 0.1011, а для числа х = – 1011 прямой код хпр = 1.1011.

Использование обратного и дополнительного кодов позволяет свести операцию вычитания (алгебраического сложения) чисел к простому арифметическому сложению. Записи положительных чисел в обратном и дополнительном кодах совпадают с их соответствующими записями в прямом коде. Для рассмотренного ранее примера х = + 1011 имеем:

 

хпр = хобр = хдоп = 0.1011.

 

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

Обратный код хобр отрицательного числа x получается из прямого кода путем замены значений цифровых разрядов на противоположные. В знаковом разряде, как в прямом коде отрицательного числа, записывается 1. Например, если

 

x = – 1011, то хпр = 1.1011; хобр = 1.0100.

 

Дополнительный код хдоп отрицательного числа x образуется из его обратного кода хобр путем прибавления 1 к младшему цифровому разряду. Для предыдущего примера: хобр = 1.0100; хдоп = 1.0101.

В процессе прибавления 1 к младшему разряду могут возникнуть переносы из данного разряда в следующий. Если эта 1 переноса достигает знакового разряда и вызывает соответствующий перенос из него, то при использовании дополнительного кода последний перенос отбрасывается, а при использовании обратного кода единица знакового переноса суммируется с младшим разрядом полученной суммы. Результат вычислений получается в том коде, в каком были представлены слагаемые. Например,

 

десятичный код: обратный код: дополнительный код:
+ 0.1100 + 0.1100
1.1010 1.1011
1 0.0110 1 0.0111
   
  0.0111 0.0111

 

В процессе выполнения расчетов на ЭВМ может образоваться как «положительный», так и «отрицательный» нуль, причем только в дополнительном коде он имеет единственное представление. Действительно,

 

в прямом коде:  
(+ 0)пр = 0.00...00; (– 0)пр = 1.00...00;
в обратном коде:  
(+ 0)обр = 0.00...00; (– 0)обр = 1.11...11;
в дополнительном коде:  
(+ 0)доп = 0.00...00; (– 0)доп = 0.00...00.

 

По этой причине, в частности, для представления отрицательных чисел в ЭВМ обычно используется дополнительный код. Поскольку дополнительный код положительного числа совпадает с прямым кодом, то положительные числа участвуют в операциях по сути дела в прямом коде. Как уже отмечалось, использование дополнительных кодов для отрицательных чисел позволяет свести операцию вычитания (или алгебраического сложения) к простому арифметическому суммированию кодов, включая их знаковые разряды. Если в результате суммирования получается положительное число (0 в знаковом разряде), то оно представлено в прямом коде, а если отрицательное число (1 в знаковом разряде), то — в дополнительном коде.

 

Упражнения

 

Выполнить арифметические операции со следующими десятичными числами, используя метод дополнительного кода:

а) 7 + 1; б) 31 + 26; в) 8 – 5; г) 89 – 46; д) 1 – 6; е) 20 – 60;

ж) – 3 – 4; з) – 13 – 41; и) 7 – 2; к) 113 – 50; л) 3 – 8; м) 12 – 63.

 

ОТВЕТЫ К УПРАЖНЕНИЯМ

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.