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


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

Алгебраическое сложение чисел с фиксированной запятой в обратном коде



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

Пример 17. Сложить в обратном коде числа: A=0,0101 и B=0,0111.

Сначала переведем A и B в обратный код:

[A]i=0,0101, [B]i=0,0111.

Сложим полученные числа:

+0,0101

0,0111

[C]i=0,1100

Мы получили обратный код результата. Раскодировав его, получим C=0,1100.

Пример 18. Сложить в обратном коде числа: A=-0,0101 и B=0,0111.

Сначала переведем A и B в обратный код:

[A]i=1,1010, [B]i=0,0111.

Сложим полученные числа:

+1,1010

0,0111

10,0001

_____1

[C]i = 0,0010

Мы получили обратный код результата. Раскодировав его, получим C=0,0010.

Пример 19. Сложить в обратном коде числа: A=0,0101 и B=-0,0111.

Сначала переведем A и B в обратный код:

[A]i=0,0101, [B]i=1,1000.

Сложим полученные числа:

+0,0101

1,1000

[C]i = 1,1101

Раскодировав результат, получим C=–0,0010.

Пример 20. Сложить в обратном коде числа: A=-0,0101 и B=-0,1000.

Сначала переведем A и B в обратный код:

[A]i=1,1010, [B]i=1,0111.

Сложим полученные числа: +1,1010

1,0111

11,0001

_____1

1,0010

Раскодировав результат, получим C=–0,1101.

Ноль в обратном коде бывает «положительным» и «отрицательным», причем добавление к числу «отрицательного» нуля, впрочем, как и «положительного», дает в результате значение первого слагаемого.

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

Пример 21. Сложить в обратном коде числа: A=0,0111 и B=0,1101.

Сначала переведем A и B в обратный код:

[A]i=0,0111, [B]i=0, 1101.

Сложим полученные числа: +0,0111

0,1101

[C]i=1,0100

Раскодировав результат, получим C=-0,1011. Но результат сложения двух положительных чисел должен был быть положительным. Следовательно, получили переполнение разрядной сетки.

Пример 22. Сложить в обратном коде числа: A=-0,0110 и B=-0,1101.

Сначала переведем A и B в обратный код:

[A]i=1,1001, [B]i=1,0010.

Сложим полученные числа:

+1,1001

1,0010

10,1011

_____1

0,1100

Раскодировав результат, получим C=0,1100. Следовательно, получили переполнение разрядной сетки, так как при сложении двух отрицательных чисел получили положительный результат.

В итоге, использование обратного кода в операциях алгебраического сложения/вычитания позволяет:

Использовать только действие арифметического сложения двоичных кодов;

Получать истинное значение знака результата, выполняя над знаковыми разрядами операндов те же действия, что и над разрядами чисел;

Обнаруживать переполнение разрядной сетки.

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

Для преодоления этого недостатка можно использовать вместо обратного кода дополнительный код.

Задания.

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

1) A=0,1101, B=-0,0011

2) A=-0,1101, B=0,0011

3) A=-0,0101, B=-0,0110

4) A=-0,0101, B=0,0101

5) A=0,0011, B=-0,0000

6) A=0,1101, B=0,0101

7) A=-0,1101, B=-0,1000

8) A=0,0111, B=0,1001

9) A=-0,0111, B=-0,1001




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