Мегаобучалка Главная | О нас | Обратная связь


Сложение в обратном коде



2019-07-03 932 Обсуждений (0)
Сложение в обратном коде 0.00 из 5.00 0 оценок




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

Рассмотрим все возможные варианты сложения чисел в обратном коде:

 

1) А›0, В›0, С›0.

А=+0,101101 В=+0,000111

Апр=0,101101 Впр=0,000111              

Аок=0,101101 Вок=0,000111          Сококок

+0,101101

 0,000111

 0,110100

2) А›0, В‹0, С›0.

А=+0,101101 В=-0,000111

Апр=0,101101 Впр=1,000111              

Аок=0,101101 Вок=1,111000          Сококок

 + 0,101101

 1,111000

1ß0,100101 (1 переноса из знакового разряда суммы прибавляется в

 à 1           младший значащий разряд результата)

 0,100110

3) А‹0, В›0, С‹0.

А=-0,101101  В=+0,000111

Апр=1,101101 Впр=0,000111              

Аок=1,010010 Вок=0,000111          Сококок

 + 1,010010

 0,000111

 1,011001       (Спр= 1,100110)

4) А‹0, В‹0, С‹0.

А=-0,101101  В=-0,000111

Апр=1,101101 Впр=1,000111              

Аок=1,010010 Вок=1,111000          Сококок

 + 1,010010

 1,111000

1ß1,001010 (1 переноса из знакового разряда суммы прибавляется в

à 1           младший значащий разряд результата)

 1,001011                 (Спр= 1,110100)

 

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

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

 

 

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

Пример 1.

 

[А]мок=00,101101              [В]мок=00,011100

    00,101101

    00,011100

    01,001001 - положительное переполнение

    Пример 2.

[А]мок=11,010010              [В]мок=11,100011

    11,010010

    11,100011

 1←10,110101

    à + 1

 10,110110 - отрицательное переполнение.

 


 

Операция сдвига в ЭВМ

 

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

Сдвиг прямого кода числа на k разрядов вправо эквивалентен умножению этого числа на 2-k. Ввиду того, что при сдвиге вправо младшие разряды сдвигаемого числа выходят за пределы разрядной сетки машины и теряются, погрешность представления сдвинутого кода числа имеет отрицательный знак для кодов положительных чисел и положительный знак для кодов отрицательных чисел. Для ее уменьшения необходимо предпринимать округление чисел. При сдвиге прямого кода отрицательной дроби сдвигается только ее мантисса, а знак остается без изменения.

Пример 1.

 

А= 1,011010, k=1 (левый сдвиг)            k=-1 (правый сдвиг)

                       21хА=1,110100                 2-1хА=1,001101

 

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

Сдвиг положительного числа влево или вправо в дополнительном или обратном кодах ничем не отличаются от сдвига положительного числа в прямом коде.

Под сдвигом отрицательного числа А, записанного инверсным (дополнительным или обратным) кодом, понимается преобразование инверсного кода отрицательного числа А в инверсный код отрицательного числа Ах2-k в случае сдвига вправо и Ах2k в случае сдвига влево.

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

При сдвиге влево освобождающиеся справа разряды в обратном коде заполняются 1, а в дополнительном - 0. Количество сдвигов правильной дроби влево ограничено условием | Ах2k |<1, т.е. сдвиг допустим лишь до тех пор, пока в разряде справа от запятой не появится 0 (пока сохраняется знак результата). Перемена знака результата при сдвиге влево является признаком переполнения, который для отрицательных и положительных чисел совпадает с признаком переполнения, возникающим при сложении кодов двух чисел.

Пример 2.

Сдвиг в обратном коде:

 

[А]о= 1,011010, k=1 (левый сдвиг)            k=-1 (правый сдвиг)

                                 21хА=1,110101                 2-1хА=1,101101

 

Сдвиг в дополнительном коде:

 

[А]д= 1,011010, k=1 (левый сдвиг)            k=-1 (правый сдвиг)

                                 21хА=1,110100                 2-1хА=1,101101

 



2019-07-03 932 Обсуждений (0)
Сложение в обратном коде 0.00 из 5.00 0 оценок









Обсуждение в статье: Сложение в обратном коде

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (932)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)