16.3 Limits for floating-point numbers

This topic describes the characteristics of floating-point numbers.

The following table gives the limits for floating-point numbers. These constants are defined in the float.h include file.

Table 16-3 Floating-point limits

Constant Meaning Value
FLT_MAX Maximum value of float. 3.40282347e+38F
FLT_MIN Minimum normalized positive floating-point number value of float. 1.175494351e–38F
DBL_MAX Maximum value of double. 1.79769313486231571e+308
DBL_MIN Minimum normalized positive floating-point number value of double. 2.22507385850720138e–308
LDBL_MAX Maximum value of long double. 1.79769313486231571e+308
LDBL_MIN Minimum normalized positive floating-point number value of long double. 2.22507385850720138e–308
FLT_MAX_EXP Maximum value of base 2 exponent for type float. 128
FLT_MIN_EXP Minimum value of base 2 exponent for type float. –125
DBL_MAX_EXP Maximum value of base 2 exponent for type double. 1 024
DBL_MIN_EXP Minimum value of base 2 exponent for type double. –1 021
LDBL_MAX_EXP Maximum value of base 2 exponent for type long double. 1 024
LDBL_MIN_EXP Minimum value of base 2 exponent for type long double. –1 021
FLT_MAX_10_EXP Maximum value of base 10 exponent for type float. 38
FLT_MIN_10_EXP Minimum value of base 10 exponent for type float. –37
DBL_MAX_10_EXP Maximum value of base 10 exponent for type double. 308
DBL_MIN_10_EXP Minimum value of base 10 exponent for type double. –307
LDBL_MAX_10_EXP Maximum value of base 10 exponent for type long double. 308
LDBL_MIN_10_EXP Minimum value of base 10 exponent for type long double. –307
The following table describes other characteristics of floating-point numbers. These constants are also defined in the float.h include file.

Table 16-4 Other floating-point characteristics

Constant Meaning Value
FLT_RADIX Base (radix) of the ARM floating-point number representation. 2
FLT_ROUNDS Rounding mode for floating-point numbers. (nearest) 1
FLT_DIG Decimal digits of precision for float. 6
DBL_DIG Decimal digits of precision for double. 15
LDBL_DIG Decimal digits of precision for long double. 15
FLT_MANT_DIG Binary digits of precision for type float. 24
DBL_MANT_DIG Binary digits of precision for type double. 53
LDBL_MANT_DIG Binary digits of precision for type long double. 53
FLT_EPSILON Smallest positive value of x that 1.0 + x != 1.0 for type float. 1.19209290e–7F
DBL_EPSILON Smallest positive value of x that 1.0 + x != 1.0 for type double. 2.2204460492503131e–16
LDBL_EPSILON Smallest positive value of x that 1.0 + x != 1.0 for type long double. 2.2204460492503131e–16L

Note

  • When a floating-point number is converted to a shorter floating-point number, it is rounded to the nearest representable number.
  • Floating-point arithmetic conforms to IEEE 754.
Non-ConfidentialPDF file icon PDF versionARM DUI0375E
Copyright © 2007, 2008, 2011, 2012, 2014 ARM. All rights reserved.