Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тсис_экз.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.33 Mб
Скачать

7. Нормализованные и денормализованные числа. Погрешность представления числа.

Нормализованные и денормализованные числа.

Нормализованная запись

Любое данное число может быть записано в виде a*10^b многими путями; например 350 может быть записано как 3,5*10^2 или 35*10^1 или 350*10^0.

В нормализованной научной записи, порядок b выбирается такой, чтобы абсолютная величинаa оставалась не меньше единицы, но строго меньше десяти (1<=|a|<10). Например, 350 записывается как 3,5*10^2. Этот вид записи позволяет легко сравнивать два числа.

В инженерной нормализованной записи (в том числе в информатике), мантисса обычно выбирается в пределах 1<=|a|<1: 350=0,35*10.

В некоторых калькуляторах, как опция, может быть использована запись с мантиссой 1<=|a|<1000 и с порядком, кратным 3, так, например, 3,52*10^-8 записывается как 35,2*10^-9. Такая запись проста для чтения (640*10^6 легче прочесть, как «640 миллионов», чем 6,4*10^8) и удобна для выражения физических величин в единицах измерения с десятичными приставками: кило-, микро-, тера- и т. д.

Денормализованные — вид чисел с плавающей точкой, определенный в стандарте IEEE 754. При записи в форматах float, double, long double их экспонента будет записана как 0. Для получения их значения не требуется использование неявной единицы; мантисса просто умножается на наименьшую для данного формата экспоненту.

Денормализованные числа находятся ближе к 0, чем наименьшее представимое нормализованное число.

Вопросы производительности

Некоторые процессоры и математические сопроцессоры работают с денормализованными числами аппаратным способом с той же скоростью, что и с нормализованными. Однако в некоторых процессорах такая аппаратная обработка не реализована (например, чтобы избежать усложнения реализации FPU), и малые значения либо приводятся сразу к нулю, либо обрабатываются в операционной системе программным способом. Второй вариант приводит к увеличению времени обработки денормализованных чисел.

Погрешность представления числа.

Абсолютная погрешность представления числа — разность между истинным зн-ем входной в-ны и её знач, полученным из машинного изображения.

Относительная погрешность — абс погр деленная на знач в машинном изображении.

Максимальная абсолютная погрешность равна нулю.

Средняя абсолютная погрешность не превышает половины единицы младшего разряда.

8. Арифметические операции в формате с плавающей точкой.

Можно использовать арифметические операции с плавающей точкой для выполнения следующих математических операций, использующих два 32–битных числа с плавающей точкой в формате IEEE:

Сложение и вычитание чисел с плавающей запятой производится по формуле: Z =  , где pX, pи p– порядки чисел X, Y и Z соответственно; mX, mи mZ – мантиссы чисел X, Y и Z. При выполнении операций сложения / вычитания необходимы следующие действия: Произвести выравнивание порядков чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число S-ричных разрядов, равное разности порядков чисел.Произвести сложение (вычитание) мантисс, в результате чего получается мантисса суммы (разности).Порядок результата принимается равным порядку большего числа.Полученная сумма (разность) нормализуется.

Умножение чисел с плавающей запятой выполняется в соответствии с формулой: Z=     , где S - основание системы счисления; pX - порядок множимого;  pY - порядок множителя; pZ - порядок произведения; - мантисса множимого; - мантисса множителя;  - мантисса произведения. При умножении чисел с плавающей запятой мантисса произведения равна произведению мантисс множимого и множителя, а порядок произведения - сумме порядков множимого и множителя.  Если один из сомножителей равен нулю, то произведению присваивается ноль без выполнения умножения. Если при суммировании порядков образовалось переполнение с отрицательным знаком, то умножение не производится и формируется сигнал прерывания. Умножение мантисс выполняется аналогично умножению двоичных чисел с фиксированной запятой.  Произведению присваивается знак плюс, если сомножители имеют одинаковые знаки, и знак минус, если знаки разные.

Деление чисел с плавающей запятой выполняется в соответствии с формулой:

Z= , где S - основание системы счисления; pX - порядок делимого;  pY - порядок делителя; pZ - порядок частного; - мантисса делимого; - мантисса делителя;  - мантисса частного. При делении чисел с плавающей запятой мантисса частного равна частному от деления мантиссы делимого на мантиссу делителя, а порядок частного - разности порядков делимого и делителя.  Если делимое равно нулю, то в частное может быть записан ноль без выполнения деления. Если при вычитании порядков образовалось переполнение с положительным знаком, или, если делитель равен нулю, то деление не производится и формируется сигнал прерывания. При делении нормализованных чисел с плавающей запятой может оказаться, что мантисса делимого больше мантиссы делителя, и мантисса частного образуется с переполнением. Поэтому перед делением мантисс нарушают нормализацию мантиссы делимого сдвигом на 1 разряд вправо.  Обычно деление мантисс выполняется по методу без восстановления остатка с неподвижным делителем аналогично делению двоичных чисел с фиксированной запятой. Частному присваивается знак плюс, если делимое и делитель имеют одинаковые знаки, и знак минус, если знаки разные.