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:
In addition to normalized floating-point numbers (f1>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=emin, f1=0) and unnormalized floating-point numbers (x!=0, e=emin, f1=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:
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:
The values given in the following list are defined as constants.
The values given in the following list are defined as constant expressions with values that are greater than or equal to those shown:
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:
See attributes(5) for descriptions of the following attributes:
tab() allbox; cw(2.750000i)| cw(2.750000i) lw(2.750000i) lw(2.750000i). ATTRIBUTE TYPEATTRIBUTE VALUE Interface StabilityStandard
complex.h(3HEAD) , math.h(3HEAD) , attributes(5) , standards(5)