ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Модифицированные обратный и дополнительный коды.При переполнении разрядной сетки, происходит перенос единицы в знаковый разряд. В этом случае положительное число, получившееся в результате арифметической операции может восприниматься как отрицательное, так как в знаковом разряде записывается «1». Например: X = 0, 1 0 1 0 1 1 0 Y = + 0, 1 1 0 1 0 0 0 X+Y = 1, 0 1 1 1 1 1 0 Здесь X и Y – коды положительных чисел, но ЭВМ воспринимает результат их сложения как код отрицательного числа («1» в знаковом разряде). Для обнаружения переполнения разрядной сетки вводятся модифицированные коды. Модифицированный обратный код получают путем выделением под знак числа не одного, а двух разрядов. Форма записи чисел в модифицированном обратном коде выглядит следующим образом: 1) для положительного числа X = XnXn-1…X2X1X0: ; 2) для отрицательного числа X = XnXn-1…X2X1X0: (обозначение читается «не X», т.е., если X = 0, то = 1 и наоборот, если X = 1, то = 0). Любая другая комбинация («0 1» или «1 0»), получившаяся в знаковых разрядах служит признак ом переполнения разрядной сетки. Сложение чисел в модифицированном обратном коде ничем не отличается от сложения в обычном обратном коде. Рассмотрим предыдущий пример, выполнив сложение в модифицированном обратном коде: X = 0 0, 1 0 1 0 1 1 0 Y = + 0 0, 1 1 0 1 0 0 0 X+Y = 0 1, 0 1 1 1 1 1 0 Обратим внимание на то, что в записи введен дополнительный (девятый) бит. Далее будем использовать 8-битную разрядную сетку. Уменьшая максимальное возможное значение числа (по модулю) выделим два знаковых разряда. В процессе работы ЭВМ оба знаковых разряда сравниваются. В случае появления признака переполнения машина останавливается. Модифицированный дополнительный код также рассматривает два знаковых разряда, а во всем остальном ничем не отличается от обычного дополнительного кода, то есть: 1) для положительного числа X = XnXn-1…X2X1X0: ; 2) для отрицательного числа X = XnXn-1…X2X1X0: . Пример. Даны два числа: X = 101001 и Y = – 11010. Сложить их в обратном, дополнительном и модифицированных обратном и дополнительном кодах. 1) Переведем X и Y в обратный и дополнительный коды:
а так же в модифицированные обратный и дополнительный коды:
Выполним сложение в обратном и модифицированном обратном кодах:
Выполним сложение в дополнительном и модифицированном дополнительном кодах:
Переполнения разрядной сетки нет (символы в знаковых разрядах одинаковые), а полученное число – положительное (в знаковых разрядах «00») поэтому полученные коды всех результатов совпадают (X+Y=1111). Не нашли, что искали? Воспользуйтесь поиском:
|