
- •Международный стандарт представления чисел с плавающей точкой в эвм
- •Введение
- •Числа с плавающей точкой
- •Машинный эпсилон
- •Точность представления
- •Показатель степени
- •Операции и округление
- •Специальные значения
- •Бесконечность
- •Ноль со знаком
- •Ненормализованные числа
- •7.5. Числа с плавающей точкой (вещественные)
- •7.6. Диапазон представления вещественных чисел
Международный стандарт представления чисел с плавающей точкой в эвм
Содержание [убрать]
|
Введение
Практически любой язык программирования даёт возможность использовать в вычислениях дробные числа. Когда дело касается программной реализации численных методов или любых других вычислений на ЭВМ, важным вопросом является внутреннее представление чисел, с которым приходится работать программисту. От этого главным образом зависит точность вычислений,а также их скорость.
В этом отчёте будут рассматриваться те аспекты представления чисел в ЭВМ, которые важны пользователям, желающим активно работать с вещественными величинами. Вначале будут введены общепринятые понятия для дальнейшего изложения материала. Будет достаточно подробно рассмотрен наиболее часто используемый стандарт IEEE 754. В заключение будут приведены способы доступа к основным параметрам представления вещественных чисел в ряде компиляторов (Microsoft Visual Studio (2003,2005), Borland C (3.1), GCC(3.4) ).
Числа с плавающей точкой
Числа
с плавающей точкой - общепринятая форма
представления действительных чисел в
ЭВМ. Основными параметрами такой формы
представления является основание
степени
(base)
и точность
(precision).
При этом всегда требуется, чтобы основание
степени было целым чётным числом. Если
и
,
то число 0.1 представляется в виде
.
Однако, очевидно, что при определённых
параметрах некоторые числа не удастся
представить точно. Например, при
и
то
же самое число 0.1 представляется
приблизительно в виде
(поскольку
в бинарном представлении число 0.1 имеет
бесконечный вид).
В
общем случае при заданных параметрах
запись вида
представляет
число
При
этом
называется
мантиссой
числа и состоит из
позиций.
В дальнейшем под числом с плавающей
точкой мы будем понимать действительные
числа точно представимые в смысле данной
формы.
Существуют
ещё два важных параметра — максимальный
и минимальный показатели степени
и
.
Таким образом, при фиксированных
параметрах мы можем представить
разных
чисел с учётом знака.
Здесь
возникает проблема - что делать с числами,
не представимыми точно. Чаще всего такая
ситуация возникает при попытке представить
числа, имеющие слишком длинное или
вообще бесконечное представление
(пример с 0.1). В этом случае нужное нам
число лежит где-то между двумя числами
с плавающей точкой и будет представляться
одним из них. Реже встречается попытка
использовать числа, меньшие чем
,
или большие чем
.
Подробнее об этих случаях речь пойдёт
в разделе "Стандарт IEEE".
Введём
ещё одну договорённость. Пока что
представление чисел с плавающей точкой
неуникально. Например, при
и
число
0.1 можно представить как
и
как
.
Представление числа, в старшей позиции
которого стоит цифра, отличная от нуля
,
мы будем называть нормализованным.
Использование нормализованных форм
решает проблему неединственности
представления чисел с плавающей точкой.
(Однако, при такой договорённости
возникает интересный вопрос — как
представлять 0?)