Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике.doc
Скачиваний:
8
Добавлен:
04.08.2019
Размер:
797.7 Кб
Скачать

Действия над числами, представленными в естественной форме

  1. Числа в естественной форме в памяти хранятся в дополнительном коде.

  2. В сумматоре числа складываются вместе со знаками, при этом образуется знак результата.

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

  4. При сложении чисел с одинаковыми знаками признаками переполнения разрядной сетки являются:

    • знак суммы не соответствует знакам слагаемых;

    • переносы из старшего разряда суммы в знаковый и из знакового за пределы разрядной сетки не согласуются.

Пример.

Работаем в двух байтах. Составляем коды.

>0

>0

– дополнительный код

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

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

  3. Суммы , – положительные, , – отрицательные. , хранятся в памяти в дополнительном коде, то есть без преобразования.

+

+

В обоих примерах произошло переполнение разрядной сетки за допустимые пределы: знаки сумм не соответствуют знакам слагаемых и переносы из старшего разряда в знаковый и из знакового разряда не согласуются.

Действия над числами, представленными в нормальной форме

  1. Числа в нормальной форме хранятся в памяти в прямом коде с нормализованными мантиссами.

  2. Сложение чисел проводится путём сложения их мантисс при одинаковых характеристиках слагаемых. За общий выбирается наибольший порядок. Выравнивание порядков слагаемых проводится путём сдвига вправо мантиссы меньшего числа.

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

  2. Результаты в прямом коде нормализуются.

  3. Действия в сумматоре выполняются над кодами мантисс, которые поступают из регистров в младшие 24 бита сумматора, знаки мантисс и характеристики заносятся в специальные схемы, которые обеспечивают выравнивание характ., норм. мантиссы рез., формирование знака результата и характеристики результата. Старшие разряды сумматора 24-31 заполняются нулями.

  4. Алгоритмы сложения после выравнивания характеристик зависят от знаков слагаемых:

  • если знаки одинаковые, модули мантисс (прямые коды) суммируются. Переполнение определяется наличием переноса единицы из старшего разряда мантиссы в 24 бит, что вызывает нарушение нормализации мантиссы влево. Нормализация проводится сдвигом на одну шестнадцатую вправо. Старшая тетрада мантиссы заполняется кодом 0001. Характеристика результата увеличивается на 1. В регистре результата сумматора форм. рез. операции:

схема анализа знака и характеристик

В 31-й заносят знак результата. В 30-24 – характеристика. 23-0 – мантисса в прямом коде;

  • если знаки слагаемых различны, отрицательная мантисса преобразуется в дополнительный код и мантиссы суммируются. Признаком положительного результата является перенос из старшего разряда мантиссы в младший характеристики, кот. стирается. Признаком отрицательного результата – его отсутствие. При этом мантисса представляется в дополнительном коде и должна быть преобразована в прямой. При сложении чисел с разными знаками возможно нарушение нормализации мантиссы вправо, тогда старшая 16-ая цифра мантиссы равна нулю. Нормализацию проводят сдвигом на 16-ую цифру влево и уменьшением характеристики на 1. После этого в регистре форм. результат. Знаковый разряд заносят в знаковый разряд большего по модулю слагаемого.

; ;

; ;

; ;

; ;

;

;

; ;

; ;

; ;

Единица переноса из старшего разряда в характеристику характеризует переполнение разрядной сетки. Это нарушение нормализации влево. Мантиссу необходимо сдвинуть на одну 16-ую вправо, порядок увеличить на 1.

42103000

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

С2103000

;

-

Так как слагаемые имеют разные знаки, то единица переноса из старшего разряда мантиссы является признаком положительного результата и должна быть стёрта для компенсации константы дополнительного кода.

-

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

1000000

-0070000

С1F90000