Студопедия — Прямой, обратный и дополнительный код
Студопедия Главная Случайная страница Обратная связь

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

Прямой, обратный и дополнительный код






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

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

Обратный и дополнительный коды отрицательных чисел (а также их модификации) различны.

 

Простановка знака суммы при алгебраическом сложении должна производиться автоматически. Знаки (+) и (–) у слагаемых могут обозначаться только при помощи сигналов, "понятных" машине, т. е. при помощи нулей и единиц. При этом следует иметь в виду, что электронные считающие элементы назад не срабатывают, а поэтому вычитание в них заменяется сложением в дополнительном или обратном кодах. Рассмотрим сначала сложение в дополнительном коде. Пусть нужно произвести следующее действие: от 176 – 27, не используя вычитание. Условимся все числа писать с одинаковым количеством цифр, равным количеству цифр в наибольшем числе: 176 – 027. Заменив число 027 его дополнением до 1000, которое называется дополнительным кодом числа 027, т. е. числом 1000 – 973 = 027, получим: 176 – (1000 – 973) = 176 + 973 – 1000.

Решение: +176

973

_1149

1000

+149

 

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

Рассмотрим еще один пример: 027 - 176.

Как и прежде, заменим число 176 его дополнением до 1000.

Тогда 027 - 176 = +027

824

_851

1000

-149

Здесь единицы переноса в старший разряд не образуется, но отрицательный результат получился в виде дополнения его до 1000.

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

 

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

- 176 - 527 = - (1000 - 824) - (1000 - 473) = -1000 + 824 - 1000 + 473 =

= +824

473

_1297

1000

_297

1000

-703

 

Правило соблюдается и в этом примере. Условимся число (–1000) обозначать перед нашими числами в виде 1, а в случае его отсутствия ставить перед числом О. Тогда 1 будет ставиться перед всеми отрицательными числами:

176 - 027 = +0.176

1.973

0.149

_

По-видимому, можно 1 заменить 1, если при использовании 1 как знака производить “сложение" цифр, заменяющих знаки (+) и (–), по определенным правилам. В первом примере это правило выглядит так:

1 - 1

176 - 027 = +0.176

1.973

0.149, т.е. “сложение” цифр, заменяющих знаки, должно идти без переноса в старший разряд.

1

Во втором примере: 027 - 176 = + 0.027

1.824

1.851

Поскольку 1 изображается (-1000), то результат 1.851 есть дополнение числа 851 до 1000, взятое со знаком минус: 1.851 à 1.149 = - 149.

В третьем примере: -176 - 527 = + 1.824

1.473

1.297

Здесь также теряется единица переноса в старший разряд при "сложении” цифр, заменяющих знаки (+) и (–). Во всех трех примерах слагаемые трехзначные, а суммы не превосходят 1000. Рассмотрим примеры, в которых сумма не меньше тысячи при трехзначных слагаемых:

+0.176

0.825

1.001

Если придерживаться правила, предложенного в предыдущих примерах, то сумма 1.001 означает (– 1000 + 001) = – 999, что неправильно. В то же время, если сдвинуть всю сумму вправо, освободив место для знака, то результат 0.1001= + 1001 будет правильным, но станет четырехзначным. Рассмотрим случай, когда оба слагаемых отрицательны.

-176 - 825 = +1.824

1.175

0.999

Результат +999 явно неправилен, и если “сложение" знаков производить по предложенному правилу, то его даже невозможно исправить. Нужно сохранить единицу переноса в старший разряд знака, что можно сделать, выделив для обозначения знаков (+) и (–) два разряда. Такой код числа называется модифицированным дополнительным кодом. В этом коде очевидно плюс следует обозначать 00, а минус 11. Тогда при четырехзначной сумме трехзначных слагаемых получим:

+00.176

00.825

01.001

В двух разрядах для знака разные цифры: 0 и 1. Сдвинув всю сумму вправо, получим правильный результат 00.1001.

 

Рассмотрим другой пример:

- 176 - 825 = +11.824

11.175

10.999

В знаковом разряде опять-таки разные цифры: 1 и 0. Сдвинем результат вправо, причем в первом знаковом разряде поставим 1, а в цифровых разрядах получившегося числа 11.0999 заменим первый 0 на 1, а остальное число – его дополнением до 1000. Тогда получим правильный четырехзначный результат 11.1001.

Рассмотрим, будут ли справедливы все предложенные правила в общем случае для чисел в двоичной системе счисления.

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







Дата добавления: 2015-03-11; просмотров: 838. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

Реформы П.А.Столыпина Сегодня уже никто не сомневается в том, что экономическая политика П...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия