- •Международный стандарт представления чисел с плавающей точкой в эвм
- •Введение
- •Числа с плавающей точкой
- •Машинный эпсилон
- •Точность представления
- •Показатель степени
- •Операции и округление
- •Специальные значения
- •Бесконечность
- •Ноль со знаком
- •Ненормализованные числа
- •7.5. Числа с плавающей точкой (вещественные)
- •7.6. Диапазон представления вещественных чисел
Машинный эпсилон
Как известно, существует 2 вида погрешностей вычисления — абсолютная и относительная (Ошибки вычислений). Под относительной погрешностью понимается отношение
где – значение, полученное при округлении, а - точное значение вычислений.
Представим, что результатом округления действительного числа стало число . Худшему случаю округления соответствует абсолютная погрешность, равная , где . В мантиссе результата округления позиций , в мантиссе абсолютной погрешности позиция.
При попытке написать неравенство для относительной погрешности, соответствующей упомянутой выше абсолютной погрешности, несложно получить, что
.
Величину принято называть машинным эпсилоном (machine epsilon). Таким образом можно утверждать, что при округлении дробного числа ближайшим к нему числом с плавающей точкой относительная погрешность округления не превосходит машинного эпсилона.
Существует и другое определение. Машинный эпсилон можно определить как минимальное положительное число, которое будучи прибавлено к единице даёт результат отличный от единицы. Читателю предлагается проверить эквивалентность этих определений самостоятельно.
Стандарт IEEE
Существует два разных стандарта IEEE для чисел с плавающей точкой. IEEE 754 - двоичный стандарт и требует, чтобы , а для одинарной точности (single) и для двойной точности (double). Также в стандарте IEEE 754 точно обговорено использование битов при представлении чисел в одинарной и двойной точностях. В стандарте IEEE 854 может принимать значение 10 или 2. Также ничего не говорится о распределении битов между мантиссой и степенью.
Понятие стандарт IEEE используется для обозначения свойств, присущих обоим из перечисленных стандартов.
Основание степени
Выбор в качестве основания степени 10 не требует особых разъяснений. Десятичная система - система, привычная для человека. В случае двоичной системы стоит обсудить некоторые достоинства, присущие ей. Мы договорились использовать нормализованные формы чисел. Если , то в старшей позиции может стоять только 1. Это даёт нам возможность не хранить эту единицу в памяти и тем самым получить дополнительный бит для мантиссы. В этом случае принято говорить, что стандарт использует скрытый бит (hidden bit).
Вернёмся к вопросу о представлении нуля в нормализованной форме. Ноль соответствует нулевой мантиссе и степени . Таким образом ноль представляется в виде .
Точность представления
Стандарт IEEE предлагает 4 разных точности: одинарная (single), двойная (double), одинарная расширенная (single-extended) и двойная расширенная (double-extended). IEEE 754 жёстко обговаривают число бит одинарной и двойной точности. Это означает, что на всех ЭВМ, поддерживающих IEEE 754, количество бит в представлении чисел с одинарной точностью и с двойной точностью фиксированы. Количество бит расширенных точностей жёстко не фиксируется. Расширенные форматы призваны хоть немного увеличить количество бит на мантиссу и на показатель степени. Ниже представлена таблица параметров различных точностей в стандарте IEEE.
Форматы |
||||
Параметры |
Формат |
|||
Single |
Single-extended |
Double |
Double-extended |
|
p |
24 |
32 |
53 |
64 |
+127 |
1023 |
+1023 |
||
-126 |
-1022 |
|||
Показатель степени |
8 бит |
бит |
11 бит |
15 бит |
Длинна записи |
32 бит |
43 бит |
64 бит |
79 бит |
Приведём ещё одну таблицу для наглядности.
|
Single |
Double |
Самое маленькое нормализованное число |
(примерно ) |
(примерно ) |
Самое большое нормализованное число |
(примерно ) |
(примерно ) |
Машинный эпсилон |