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

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

Как вы уже знаете в ЭВМ все арифметические операции над числами сводятся к операциям арифметического сложения и сдвигу их кодов вправо или влево. При этом учитываются знаки чисел, автоматически определяется знак результата и признаки возможного переполнения разрядной сетки заданных форматов.

Напомним, что числа, представленные в естественной форме, в памяти ЭВМ записываются в дополнительном коде, числа в нормальной форме хранятся в прямом коде. Действия в ЭВМ выполняются в прямом и дополнительном коде, обратный код используется для получения дополнительного кода.

        1. Действия над числами, представленными в естественной форме (с фиксированной запятой)

При сложении кодов чисел в естественной форме следует учитывать следующие положения:

1) числа хранятся в памяти в дополнительном коде;

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

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

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

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

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

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

Замечание. Операции умножения и деления производятся над абсолютными значениями чисел — в прямом коде, знак произведения определяется сложением по модулю 2 знаков сомножителей (0 + 0 = 0, 1+0 = 1, 1 + 1 = 0), знак частного — сложением по модулю 2 знаков делимого и делителя, а знаку остатка присваивается знак делимого.

        1. Действия над числами, представленными в нормальной форме (c плавающей запятой)

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

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

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

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

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

5. Действия в сумматоре выполняются только над кодами мантисс, которые поступают из регистров в младшие 24 (0-23) разряда сумматора (для ЕС и СМ ЭВМ), знаки мантисс и значения порядков заносятся в специальные схемы, которые обеспечивают выравнивание порядков, нормализацию мантиссы результата, формирование знака и порядка суммы. В старшие 8 разрядов (31—24) сумматора записываются нули.

6. Алгоритмы операции алгебраического сложения после выравнивания порядков зависят от знаков слагаемых:

а) Если знаки слагаемых одинаковы (положительные или отрицательные), то модули мантисс (прямые коды) суммируются. Переполнение определяется наличием переноса 1 из старшего разряда мантиссы в поле характеристики (в 25-ый разряд сумматора для СМ ЭВМ), что вызывает нарушение нормализации мантиссы влево. Нормализация результата производится сдвигом мантиссы на один бит вправо, при этом порядок результата увеличивается на 1. После этого в регистре результата сумматора формируется результат операции: из схем анализа знаков и порядков заносятся в 31-ый разряд знак одного из слагаемых, в 30-23 разряды — порядок, а в 22—0 разрядах сохраняется мантисса суммы в прямом коде с учетом скрытой единицы.

б) Если знаки слагаемых различны, то отрицательная мантисса преобразуется в дополнительный код и мантиссы суммируются. Признаком положительного результата является перенос 1 из старшего разряда мантиссы в поле характеристики (25-ый разряд суммы), которая стирается. Признаком отрицательного результата является отсутствие переноса 1 в 25-ый разряд, при этом мантисса суммы представлена в дополнительном коде и должна быть преобразована в прямой код. При сложении кодов чисел с разными знаками может произойти нарушение нормализации мантиссы суммы вправо (старший бит мантиссы в прямом коде равна нулю).

Нормализация мантиссы суммы производится сдвигом ее влево на один биту и уменьшением порядка на единицу. После этого в регистре сумматора формируется результат: в 31-ый разряд заносится знак большего по модулю слагаемого, в 30—23 разряды — порядок и в 22—0 разряды мантисса результата в прямом коде с учетом скрытой единицы.

Реализацию этих положений рассмотрим на примерах.

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

Замечание. При выполнении операций умножения и деления порядки не выравниваются, нормализованные мантиссы чисел умножаются или делятся, порядки соответственно складываются или вычитаются, а знаки произведения и частного определяются, как и в естественной форме, сложением по модулю 2 знаков сомножителей или делимого и делителя.

Контрольные вопросы

  1. Позиционные системы счисления.

  2. Форматы представления чисел ЕС, СМ, IBM.

  3. Энтропия, количество информации.

  4. Выполнение арифметических операций с числами с фиксированной и плавающей запятой.

Требования к содержанию и оформлению отчета

  1. Отчет выполняется рукописным текстом на одной стороне листа (нескольких листов) формата А4.

  2. В отчете должна быть представлена детализация хода работы, а не только исходные данные и результаты. Отчет, содержащий только исходные данные и результаты, не принимается к защите.

  3. Остальные требования см. в задании к лабораторной работе 1.