Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
System Schisl.DOC
Скачиваний:
11
Добавлен:
04.11.2018
Размер:
721.41 Кб
Скачать

3.3 Арифметические действия над числами с плавающей точкой.

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

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

Пример.

Представить числа X и Y в виде нормализованных двоичных чисел с плавающей точкой и сложить. Результат проверить переведя сумму в десятичную систему.

Решение:

1. Переведем числа в двоичную с.с. и нормализуем.

X;

Y.

2. Уравниваем порядки чисел.

X;

Y.

3. Переводим мантиссы чисел в модифицированный дополнительный код и складываем их.

4. Переводим результат в прямой код:

5. Представляем результат в виде ЧПТ и нормализуем его:

.

Таким образом результат сложения: .

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

В арифметическо-логическом устройстве (АЛУ) ЭВМ операция умножения реализуется в виде следующей последовательности действий:

1) Мантиссы, представленные в прямом коде, перемножаются (при этом установка десятичной точки происходит как и при нормальном умножении путем подсчета количества разрядов после точки в обоих множителях).

2) Порядки складываются с применением обратного или дополнительного кодов.

3) Знаки чисел обрабатываются специальной логикой (исключающее или).

Пример.

Представить числа X  и  Y в виде нормализованных двоичных чисел с плавающей точкой и перемножить. Результат проверить переведя произведение в десятичную систему.

Решение:

1. Переведем числа в двоичную с.с. и нормализуем.

;

2.  Запишем мантиссы в восьмиразрядном прямом коде:

;

.

3.  а) Перемножим мантиссы. б) Определим знак произведения.

Так как знаки множителей разные (в знаковых разрядах 0 и 1 соответственно), то знаком произведения будет “–” (в знаковом разряде будет 1).

Таким образом мантисса произведения, записанная в прямом коде имеет вид: .

4. Сложим порядки.

.

Таким образом результат умножения: .

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

Пример.

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

1. Переведем числа в двоичную с.с. и нормализуем.

X;

Y.

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

;

.

Таким образом результат деления X/Y.

3. Нормализуем результат и переводим в “10” с.с..

X/Y;

X/Y.

В АЛУ ЭВМ, при выполнении операции деления, деление мантисс и вычитание порядков осуществляется с использованием обратного или дополнительного кодов. Знаки чисел обрабатываются специальной логикой (исключающее или).

Упражнения 3.

1. Представить двоичное число в нормализованном виде и записать в ячейку :

а) 110.001;

б) 11100.11;

в) –0.0011111;

г) –0.0000001011;

д) –1110.1011;

е) –0.0110101;

ж) 0.000111;

з) –11100.001 .

2 . Представить десятичное число в виде нормализованного двоичного (точность перевода – 10 цифр в мантиссе нормализованного числа). Записать число в ячейку.

а) –117.375;

б) 94. 6875;

в) 202 .9;

г) –35.325;

д) –0.48;

е) 0.22;

ж) –0.0425;

з) 0.02 .

3 . Перевести десятичные числа X и Y в двоичную с.с. (точность перевода – 10 цифр в мантиссе нормализованного числа). Записать их в ячейки в нормализованном виде. Вычислить сумму X и Y (суммирование мантисс производить в модифицированном дополнительном 12-ти разрядном коде). Записать результат в ячейку в нормализованном виде. Сравнить результаты полученные в десятичной и двоичной с.с..

а) X= –15.25;

Y= 3.75;

б) X= –13.8;

Y= –3.2;

в) X= –0.09;

Y= 0.55;

г) X= –0.04;

Y= –0.26;

д) X= 3.15;

Y= –0.4;

е) X= –0 .03;

Y= –2 .27 .

4. Записать двоичные числа X и Y в нормализованном виде. Вычислить произведение X·Y. Результат записать в нормализованном виде.

а) X= 10011;

Y= 11.1 ;

б) X= –1110;

Y= 0.0111;

в) X= 0.010101;

Y= 0. 00101;

г) X= –0.001101;

Y= 10. 011;

д) X= 11011.01;

Y= 0.010011;

е) X= 0.00111011;

Y= –0.00011001 .

5. Записать двоичные числа X и Y в нормализованном виде. Вычислить частное X/Y (при делении мантисс точность – 6 знаков после точки). Результат записать в нормализованном виде.

а) X= 101101.01;

Y= –101.01;

б) X= 0.000110101;

Y= 0.0000011;

в) X= 0.011011;

Y= –10010.1;

г) X= 0.00001011;

Y= 0.010011;

д) X= –1010.11;

Y= 1100110;

е) X= 100011;

Y= 0. 00101 .

Литература.

1. Каган Б.М. Электронные вычислительные машины и системы. М.: Энергоатомиздат, 1991..

2. Савельев А.Я. Прикладная теория цифровых автоматов. М.: Высшая школа, 1983.

3. Лю Ю-Чжен, Гибсон Г. Микропроцессоры семейства 8086/8088. М.: Радио и связь, 1987.

 Здесь и в дальнейшем при одновременном использовании нескольких различных систем счисления основание системы к которой относится число будем указывать в виде нижнего индекса.

* Знаковым разрядом обычно является крайний разряд в разрядной сетке. В дальнейшем при записи кода знаковый разряд от цифровых условимся отделять запятой. Если количество разрядов кода не указано будем предполагать, что под запись кода выделен один байт.

 Для определенности сложение мантисс будем производить в модифицированном дополнительном восьмиразрядном коде (2 знаковых разряда и 6 разрядов для записи мантиссы).

 Во всех упражнениях использовать 16-ти разрядные ячейки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]