Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция11окс.doc
Скачиваний:
111
Добавлен:
22.02.2016
Размер:
194.05 Кб
Скачать

6. А и в отрицательные, сумма абсолютных величин а и в больше, либо равна 2n-1. Вариант переполнения.

Например:

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

Сложение дополнительных кодов. Здесь также имеют место рассмотренные выше шесть случаев:

1. А и В положительные. Здесь нет отличий от случая 1, рассмотренного для обратного кода.

2. А положительное, b отрицательное и по абсолютной величине больше, чем а.

Например:

Получен правильный результат в дополнительном коде. При переводе в прямой код биты цифровой части результата инвертируются и к младшему разряду прибавляется единица: 1 0000110 + 1 = 1 0000111 = -710.

3. А положительное, b отрицательное и по абсолютной величине меньше, чем а.

Например:

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

4. А и В отрицательные. Например:

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

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

Сравнение рассмотренных форм кодирования целых чисел со знаком показывает:

  • на преобразование отрицательного числа в обратный код компьютер затрачивает меньше времени, чем на преобразование в дополнительный код, так как последнее состоит из двух шагов — образования обратного кода и прибавления единицы к его младшему разряду;

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

ВАЖНО: Результат всегда представляется в том виде, в котором представлены исходные операнды.

Примеры

Числа даны без знаковых разрядов.

10110101 – 10010110 выполнить алгебр. сложение в обратном коде

- 11010 – 10101 выполнить алгебр. сложение в дополнительном коде, разрядная сетка 8 бит.

- 110011 – 101101 выполнить алгебр. сложение в обратном коде, разрядная сетка 8 бит.

- 101010 + 110001 выполнить алгебр. сложение в дополнительном коде, разрядная сетка 8 бит.

Решение:

1)

Ответ: +11111

  1. Сначала числа представляются в прямом коде в разрядной сетке, а затем происходят необходимые преобразования.

Ответ: -101111.

  1. Ответ: -1100000.

  1. Ответ: +0111.

Двоично-десятичные коды

Числа в кодах такого типа представляются двоичными тетрадами соответствующих десятичных цифр.

Двоично-десятичный код (2/10) – код прямого замещения; код 8421

10 код

2/10 код

10 код

2/10 код

Остальные комбинации 10 – 15 - запрещенные

10 код

2/10 код

10 код

2/10 код

0

0000

5

0101

10

1010

15

1111

1

0001

6

0110

11

1011

2

0010

7

0111

12

1100

3

0011

8

1000

13

1101

4

0100

9

1001

15

1110

Преобразование числа в обратный код

  1. Запись отрицательного числа в прямом коде

  2. Добавление тетрады + 0110 во все тетрады числа из п.1 - Сложение

  3. Инверсия полученной в п.2. суммы - Это и есть результат – число в обратном коде.

Преобразование числа в дополнительный код

  1. Выполнить операции 1-3 из преобразования в обратный код

  2. В младшую тетраду добавить + 0001 - Результат сложения – число в дополнительном коде.

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

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

Например: -5689; - 1542; – в обр.код -9948; - 1237 – в доп.код

5689

-1542

-3567

-1237

Правила выполнения арифметических операций

Коррекция результата потетрадного сложения путем добавления поправки + 0110 требуется в случае, если :

  1. Был перенос в старшую тетраду

  2. Возникают запрещенные комбинации

При коррекции разрешен межтетрадный перенос.

Например: 279 + 581 = 860

Сначала выполняется сумма, а потом, если требуется – коррекция

пример, где требуется коррекция при возникновении переноса и запрещенных комбинаций одновременно.

689+579=1268

Примеры:

934 – 1239 выполнить алгебр. сложение в обратном коде

- 568- 329 выполнить алгебр. сложение в обратном коде

4529 – 8966 выполнить алгебр. сложение в дополнительном коде

- 9588 – 29 выполнить алгебр. сложение в дополнительном коде

Решение:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]