![]() |
![]() |
![]() |
<float.h>Include the standard header <float.h>
to determine various properties of floating-point type representations.
The standard header <float.h> is available even in a
freestanding implementation.
You can test the values of any of the integer macros except
FLT_ROUNDS in an
if directive.
(The macros expand to
#if expressions.)
All other macros defined in this header expand to
floating-point constant expressions.
Some target environments can change the rounding and error-reporting properties of floating-point type representations while the program is running.
#define FLT_RADIX <#if expression >= 2> #define FLT_ROUNDS <integer rvalue> #define FLT_EVAL_METHOD <#if expression> [added with C99] #define DECIMAL_DIG <#if expression> >= 10 [added with C99] #define DBL_DIG <#if expression >= 10> #define DBL_EPSILON <double constant <= 10^(-9)> #define DBL_MANT_DIG <#if expression> #define DBL_MAX <double constant >= 10^37> #define DBL_MAX_10_EXP <#if expression >= 37> #define DBL_MAX_EXP <#if expression> #define DBL_MIN <double constant <= 10^(-37)> #define DBL_MIN_10_EXP <#if expression <= -37> #define DBL_MIN_EXP <#if expression> #define FLT_DIG <#if expression >= 6> #define FLT_EPSILON <float constant <= 10^(-5)> #define FLT_MANT_DIG <#if expression> #define FLT_MAX <float constant >= 10^37> #define FLT_MAX_10_EXP <#if expression >= 37> #define FLT_MAX_EXP <#if expression> #define FLT_MIN <float constant <= 10^(-37)> #define FLT_MIN_10_EXP <#if expression <= -37> #define FLT_MIN_EXP <#if expression> #define LDBL_DIG <#if expression >= 10> #define LDBL_EPSILON <long double constant <= 10^(-9)> #define LDBL_MANT_DIG <#if expression> #define LDBL_MAX <long double constant >= 10^37> #define LDBL_MAX_10_EXP <#if expression >= 37> #define LDBL_MAX_EXP <#if expression> #define LDBL_MIN <long double constant <= 10^(-37)> #define LDBL_MIN_10_EXP <#if expression <= -37> #define LDBL_MIN_EXP <#if expression>
DBL_DIG#define DBL_DIG <#if expression >= 10>
The macro yields the precision in decimal digits for type double.
DBL_EPSILON#define DBL_EPSILON <double constant <= 10^(-9)>
The macro yields the smallest X of type double such that 1.0 + X != 1.0.
DBL_MANT_DIG#define DBL_MANT_DIG <#if expression>
The macro yields the number of mantissa digits, base
FLT_RADIX,
for type double.
DBL_MAX#define DBL_MAX <double constant >= 10^37>
The macro yields the largest finite representable value of type double.
DBL_MAX_10_EXP#define DBL_MAX_10_EXP <#if expression >= 37>
The macro yields the maximum integer X, such that 10^X is a finite representable value of type double.
DBL_MAX_EXP#define DBL_MAX_EXP <#if expression>
The macro yields the maximum integer X, such that
FLT_RADIX^(X - 1)
is a finite representable value of type double.
DBL_MIN#define DBL_MIN <double constant <= 10^(-37)>
The macro yields the smallest normalized, finite representable value of type double.
DBL_MIN_10_EXP#define DBL_MIN_10_EXP <#if expression <= -37>
The macro yields the minimum integer X such that 10^X is a normalized, finite representable value of type double.
DBL_MIN_EXP#define DBL_MIN_EXP <#if expression>
The macro yields the minimum integer X such that
FLT_RADIX^(X - 1)
is a normalized, finite representable value of type double.
DECIMAL_DIG#define DECIMAL_DIG <#if expression >= 10> [added with C99]
The macro yields the minimum number of decimal digits needed to represent all the significant digits for type long double.
FLT_DIG#define FLT_DIG <#if expression >= 6>
The macro yields the precision in decimal digits for type float.
FLT_EPSILON#define FLT_EPSILON <float constant <= 10^(-5)>
The macro yields the smallest X of type float such that 1.0 + X != 1.0.
FLT_EVAL_METHOD#define FLT_EVAL_METHOD <#if expression> [added with C99]
The macro yields a value that describes the evaluation mode for floating-point operations. The values are:
An implementation can define additional negative values for this macro.
FLT_MANT_DIG#define FLT_MANT_DIG <#if expression>
The macro yields the number of mantissa digits, base
FLT_RADIX,
for type float.
FLT_MAX#define FLT_MAX <float constant >= 10^37>
The macro yields the largest finite representable value of type float.
FLT_MAX_10_EXP#define FLT_MAX_10_EXP <#if expression >= 37>
The macro yields the maximum integer X, such that 10^X is a finite representable value of type float.
FLT_MAX_EXP#define FLT_MAX_EXP <#if expression>
The macro yields the maximum integer X, such that
FLT_RADIX^(X - 1)
is a finite representable value of type float.
FLT_MIN#define FLT_MIN <float constant <= 10^(-37)>
The macro yields the smallest normalized, finite representable value of type float.
FLT_MIN_10_EXP#define FLT_MIN_10_EXP <#if expression <= -37>
The macro yields the minimum integer X, such that 10^X is a normalized, finite representable value of type float.
FLT_MIN_EXP#define FLT_MIN_EXP <#if expression>
The macro yields the minimum integer X, such that
FLT_RADIX^(X - 1)
is a normalized, finite representable value of type float.
FLT_RADIX#define FLT_RADIX <#if expression >= 2>
The macro yields the radix of all floating-point representations.
FLT_ROUNDS#define FLT_ROUNDS <integer rvalue>
The macro yields a value that describes the current rounding mode for floating-point operations. Note that the target environment can change the rounding mode while the program executes. How it does so, however, is not specified. The values are:
An implementation can define additional values for this macro.
LDBL_DIG#define LDBL_DIG <#if expression >= 10>
The macro yields the precision in decimal digits for type long double.
LDBL_EPSILON#define LDBL_EPSILON <long double constant <= 10^(-9)>
The macro yields the smallest X of type long double such that 1.0 + X != 1.0.
LDBL_MANT_DIG#define LDBL_MANT_DIG <#if expression>
The macro yields the number of mantissa digits, base
FLT_RADIX,
for type long double.
LDBL_MAX#define LDBL_MAX <long double constant >= 10^37>
The macro yields the largest finite representable value of type long double.
LDBL_MAX_10_EXP#define LDBL_MAX_10_EXP <#if expression >= 37>
The macro yields the maximum integer X, such that 10^X is a finite representable value of type long double.
LDBL_MAX_EXP#define LDBL_MAX_EXP <#if expression>
The macro yields the maximum integer X, such that
FLT_RADIX^(X - 1)
is a finite representable value of type long double.
LDBL_MIN#define LDBL_MIN <long double constant <= 10^(-37)>
The macro yields the smallest normalized, finite representable value of type long double.
LDBL_MIN_10_EXP#define LDBL_MIN_10_EXP <#if expression <= -37>
The macro yields the minimum integer X, such that 10^X is a normalized, finite representable value of type long double.
LDBL_MIN_EXP#define LDBL_MIN_EXP <#if expression>
The macro yields the minimum integer X, such that
FLT_RADIX^(X - 1)
is a normalized, finite representable value of type long double.
See also the Table of Contents and the Index.
Copyright © 1992-2006 by P.J. Plauger and Jim Brodie. All rights reserved.
![]() |
![]() |
![]() |