24 2 32 Операции над числами с плавающей точкой. Алгоритмы. Реализация. (775998)
Текст из файла
32 Выполнение операции над числами с плавающей точкой. Алгоритмы и реализация.
Число с плавающей точкой представляется в виде:
X=sign(x)*q r(x) *m(x)
Где r – порядок числа, a m – мантисса числа.
Операция сложения
Нужно привести числа к одному порядку. Для этого необходимо сдвинуть одну из мантисс. Выравнивание должно происходить по большему порядку, т.к если приводить к меньшему, то соответствующая мантисса сдвигается влево, но нет места для хранения старших разрядов; если приводить к старшему, то, теряются разряды мантиссы, которые лежат за пределами конца разрядной сетки.
Алгоритм:
X=sign(x)*q r(x) *m(x)
Y=sign(y)*q r(y) *m(y)
Z=x+y
1. ∆(r)= r(x)- r(y)
A) ∆ (r)=0 - сложение мантисс с учетом знака.
Б) ∆ (r)>0 - сдвигается мантисса y на ∆ (r) *k (если q=2k)разрядов вправо. Осуществляется сложение
В) ∆ (r)<0 - сдвигается мантисса x на ∆ (r)*k разрядов вправо, осуществляется сложение.
Замечания.
1.Будем считать, что мантисса и порядок представлены в прямом коде, тогда все действия выполняются с учетом сложения операндов, представленных в прямом коде.
2.При сложении мантисс результирующая мантисса может не отвечать условиям нормализованной мантиссы, значит необходимо произвести ее нормализацию.
M(z)>1 - сдвиг вправо с увеличением результирующего порядка на 1.
M(z)>q-1 - сдвиг влево на к разрядов, при этом уменьшается результирующий порядок на к.
3. При сложении может произойти положительное переполнение r(z), тогда вырабатывается сигнал переполнения.
4.Возможно отрицательное переполнение r(z) , результат записывается в нормализованной форме машинного нуля.
В АЛУ существует арифметическо и логические устройство.
Сравнение порядков осуществляется в ЛУ
Алу для сложения чисел представленныч в форме с плавующей запятой.
0 х1 7 y
P1 P2
P3
P4
RA
сравнение
+1
-1
СП
RC
БУУ
швых
КОП
В R1 и R2 – устанавливаются х и у (32 разрядов)
Вычитание.
Все тоже самое, только надо складывать и вычитать с учетом знака мантиссы.
Умножение
Выполнение операции умножения использует выполнение операции умножения с фиксированной точкой.
Z=x*y
R(z)=r(x)+r(y)
M(z)=m(x)*m(y)
Sign(z)=sign(x) + sign(y), где + - сложение по модулю 2.
Замечания:
1.Мантисса z имеет l порядков, а оставшаяся младшая часть отбрасывается.
2.Результирующая мантисса может оказаться m(z)-1, значит необходимо произвести ее нормализацию (сдвиг влево).
3.При сложении порядков может произойти переполнение разрядной сетки, но если m(z)-1, то r(z) уменьшиться. Переполнение проверяют после нормализации мантиссы и уменьшения r(z).
Деление
r(z)=r(x)-r(y), m(z)=m(x)/m(y)
Замечания.
1.Проверка возможности операции деления, как для чисел с фиксированной точкой, не происходит. Это можно компенсировать порядком.
2.Для делимого необходимо добавить соответствующее количество нулей.
3.При отбрасывании младших разрядов их иногда округляют(для всех операций)
4
0>
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.













