
- •Международный стандарт представления чисел с плавающей точкой в эвм
- •Введение
- •Числа с плавающей точкой
- •Машинный эпсилон
- •Точность представления
- •Показатель степени
- •Операции и округление
- •Специальные значения
- •Бесконечность
- •Ноль со знаком
- •Ненормализованные числа
- •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 |
Самое маленькое нормализованное число |
|
|
Самое большое нормализованное число |
|
|
Машинный эпсилон |
|
|