Модифицированные обратный и дополнительный коды.

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

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

В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два бита:

· "00" соответствует знаку "+";

· "11" - знаку "-".

Любая другая комбинация ("01" или "10"), получившаяся в знаковых разрядах служит признаком переполнения разрядной сетки.

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

Рассмотрим сложение чисел в модифицированных кодах (Табл.2.27 - Табл.2.31) , используя данные предыдущих примеров.

Пример.

A = +1010101

B = +1011101

A + B = 1010101 + 1011101

Таблица 2.27. Пример сложения положительных чисел в модифицированных кодах с переполнением

  Знак Значение кода Примечание
  А
+ В
= Переполнение

 

Пример.

A = -1010101;

B = +1011101

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

  Знак Значение кода Примечание
  Обратный код для A
+ Обратный код для B
  В знаковом бите появилась единица переноса
  1+1 Единица переноса в знаковом бите прибавлена к значению младшего бита.
= A + B = 1000 – положительная сумма

Пример.

A = +1010101;

B = -1011101

Таблица 2.29. Пример сложения чисел в модифицированных кодах в обратном коде, с отрицательной суммой

  Знак Значение кода Примечание
  Обратный код для A
+ Обратный код для B
  Отрицательное число. Переводим в прямой код.
= A + B = -1000 – отрицательная сумма

 

Пример.

A = -1010101;

B = +1011101

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

  Знак Значение кода Примечание
  Дополнительный код для A
+ Дополнительный код для B
  В знаковом бите появилась единица переноса. Она отбрасывается
= A + B = 1000 – положительная сумма

 

Пример.

A = +1010101;

B = -1011101

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

  Знак Значение кода Примечание
  Дополнительный код для A
+ Дополнительный код для B
  Отрицательное число. Переводим в прямой код.
  Единицу прибавляем к значению младшего бита.
= A + B = -1000 – отрицательная сумма







Дата добавления: 2016-12-16; просмотров: 901;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.