Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


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




 

Например: X= 0,1010110 Y= 0,1101000 X+Y= 1,0111110

При переполнении разрядной сетки, происходит перенос единицы в знаковый разряд. Это приводит к неправильному результату, причем положительное число, получившееся в результате арифметической операции может восприниматься как отрицательное (так как в знаковом разряде "1") и наоборот.

 

 

Здесь X и Y – коды положительных чисел, но ЭВМ воспринимает результат их сложения как код отрицательного числа (“1” в знаковом разряде). Для обнаружения переполнения разрядной сетки вводятся модифицированные коды.

Модифицированный обратный код – в нем под знак числа отводится не один, а два разряда. Форма записи чисел в модифицированном обратном коде выглядит следующим образом:

1) для положительного числа

X= ; X = ;

2) для отрицательного числа

X= ; X = ;

(обозначение читается “не X”, т.е., если X=0, то =1 и наоборот, если X=1, то =0).

В модифицированном обратном и модифицированном дополнительном кодах под знак числа отводится не один, а два разряда: "00" соответствует знаку "+", "11" – знаку "-". Любая другая комбинация (“01” или “10”), получившаяся в знаковых разрядах служит признаком переполнения разрядной сетки. Сложение чисел в модифицированных кодах ничем не отличается от сложения в обычных обратном и дополнительном кодах.

Рассмотрим предыдущий пример, выполнив сложение в модифицированном обратном коде:

X= 00,101011 Y= 00,110100 X+Y= 01,011111

В ЭВМ в процессе работы оба знаковых разряда сравниваются. В случае появления признака переполнения машина останавливается.

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

1) для положительного числа

X= ; X = ;

 

2) для отрицательного числа

X= ; X = +0,000... 1;

 

Пример. Даны два числа: X=101001 и Y= –11010. Сложить их в дополнительном и модифицированном дополнительном кодах.

 

1) Переведем X и Y в дополнительный и модифицированный дополнительный код:

Обычная запись Обратный код Дополнительный код
X=+0101001 Y=–0011010 Xобр=0,0101001 Yобр=1,1100101 Xдоп=0,0101001 Yдоп=1,1100110

 

 

Обычная запись Мод. обратный код Мод. дополнительный код
X=+101001   Y=–011010 =00,101001 =11,100101 =00,101001 =11,100110

 

2) Выполним сложение:

 

Xдоп= 0,0101001 Yдоп= 1,1100110 1)0,0001111   отбрасывается (X+Y)доп= 0,0001111   X = 00,101001 Y = 11,100110 1) 00,001111 отбрасывается (X+Y) = 00,001111  

 

 

Переполнения нет (в знаковых разрядах “00”), поэтому результаты, полученные в обычном и модифицированном кодах совпадают (X+Y=1111).

 





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


Дата добавления: 2015-09-20; Мы поможем в написании ваших работ!; просмотров: 512 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

80% успеха - это появиться в нужном месте в нужное время. © Вуди Аллен
==> читать все изречения...

2293 - | 2146 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.