float.h, float - floating types
#include <float.h>
The characteristics of floating types are defined in terms of a model that describes a representation of floating-point numbers and values that provide information about an implementation's floating-point arithmetic.
The following parameters are used to define the model for each floating-point type:
s
b
e
p
f(k)
In addition to normalized floating-point numbers (f(1)>0 if x!=0), floating types might be able to contain other kinds of floating-point numbers, such as subnormal floating-point numbers (x!=0, e=e(min), f(1)=0) and unnormalized floating-point numbers (x!=0, e=e(min), f(1)=0), and values that are not floating-point numbers, such as infinities and NaNs. A NaN is an encoding signifying Not-a-Number. A quiet NaN propagates through almost every arithmetic operation without raising a floating-point exception; a signaling NaN generally raises a floating-point exception when occurring as an arithmetic operand.
The accuracy of the library functions in math.h(3HEAD) and complex.h(3HEAD) that return floating-point results is defined on the libm(3LIB) manual page.
All integer values in the <float.h> header, except FLT_ROUNDS, are constant expressions suitable for use in #if preprocessing directives; all floating values are constant expressions. All except DECIMAL_DIG, FLT_EVAL_METHOD, FLT_RADIX, and FLT_ROUNDS have separate names for all three floating-point types. The floating-point model representation is provided for all values except FLT_EVAL_METHOD and FLT_ROUNDS.
The rounding mode for floating-point addition is characterized by the value of FLT_ROUNDS:
-1
0
1
2
3
The values of operations with floating operands and values subject to the usual arithmetic conversions and of floating constants are evaluated to a format whose range and precision might be greater than required by the type. The use of evaluation formats is characterized by the architecture-dependent value of FLT_EVAL_METHOD:
-1
0
1
2
The values given in the following list are defined as constants.
FLT_RADIX
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG
DECIMAL_DIG
FLT_DIG DBL_DIG LDBL_DIG
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP
FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP
FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP
The values given in the following list are defined as constant expressions with values that are greater than or equal to those shown:
FLT_MAX DBL_MAX LDBL_MAX
The values given in the following list are defined as constant expressions with implementation-defined (positive) values that are less than or equal to those shown:
FLT_EPSILON DBL_EPSILON LDBL_EPSILON
FLT_MIN DBL_MIN LDBL_MIN
See attributes(5) for descriptions of the following attributes:
|
complex.h(3HEAD), math.h(3HEAD), attributes(5), standards(5)
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |