4.6 Числа с плавающей точкой
- Точность операций с числами с плавающей точкой и функций библиотеки в
<math.h>и<complex.h>, возвращающих результаты с плавающей точкой (C90, C99 и C11 5.2.4.2.2).Точность неизвестна.
- Правила округления, характеризующиеся нестандартными значениями
FLT_ROUNDS(C90, C99 и C11 5.2.4.2.2).GCC не использует такие значения.
- Методы вычисления, характеризующиеся нестандартными отрицательными значениями
FLT_EVAL_METHOD(C99 и C11 5.2.4.2.2).GCC не использует такие значения.
- Направление округления при преобразовании целого числа в число с плавающей точкой, которое не может точно представить исходное значение (C90 6.2.1.3, C99 и C11 6.3.1.4).
Следуется приложению F к C99.
- Направление округления при преобразовании числа с плавающей точкой в число с плавающей точкой меньшей точности (C90 6.2.1.4, C99 и C11 6.3.1.5).
Следуется приложению F к C99.
- Способ выбора ближайшего представимого значения или большего/меньшего представимого значения, непосредственно прилегающего к ближайшему представимому значению, для некоторых констант с плавающей точкой (C90 6.1.3.1, C99 и C11 6.4.4.2).
Следуется приложению F к C99.
- Сокращаются ли и как сокращаются плавающие выражения, если это не запрещено
FP_CONTRACTдирективой (C99 и C11 6.5).Выражения сокращаются только если используется -ffp-contract=fast, -funsafe-math-optimizations или -ffast-math. Это может быть изменено.
- Стандартное состояние
FENV_ACCESSдирективы (C99 и C11 7.6.1).Эта директива не реализована, но по умолчанию выключена, если не используется -frounding-math, в этом случае она включена.
- Дополнительные исключения с плавающей точкой, режимы округления, среды и классификации, а также их имена макросов (C99 и C11 7.6, C99 и C11 7.12).
Это зависит от реализации C-библиотеки и не определяется самим GCC.
- Стандартное состояние
FP_CONTRACTдирективы (C99 и C11 7.12.2).Эта директива не реализована. Выражения сокращаются только если используется -ffp-contract=fast, -funsafe-math-optimizations или -ffast-math. Это может быть изменено.
- Может ли быть поднято исключение «неточно» с плавающей точкой, когда округленный результат на самом деле равен математическому результату в соответствии с IEC 60559 (C99 F.9).
Это зависит от реализации C-библиотеки и не определяется самим GCC.
- Может ли быть поднято исключение «потерь точности» (и «неточно») с плавающей точкой, когда результат очень мал, но не неточен в соответствии с IEC 60559 (C99 F.9).
Это зависит от реализации C-библиотеки и не определяется самим GCC.
Далее: Реализация массивов и указателей, Предыдущее: Реализация целых чисел, Наверх: Реализация C [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-8.5.0/gcc/Floating-point-implementation.html