C numeric limits interface
From cppreference.com
                    
                                        
                    
                    
                                                            
                    See also numeric_limits interface.
|   Defined in header <cstdint>  
 | |
|    PTRDIFF_MIN (C++11)  | 
   minimum value of object of std::ptrdiff_t type   (macro constant)  | 
|    PTRDIFF_MAX (C++11)  | 
   maximum value of object of std::ptrdiff_t type   (macro constant)  | 
|    SIZE_MAX (C++11)  | 
   maximum value of object of std::size_t type   (macro constant)  | 
|    SIG_ATOMIC_MIN (C++11)  | 
   maximum value of object of std::sig_atomic_t type   (macro constant)  | 
|    SIG_ATOMIC_MAX (C++11)  | 
   maximum value of object of std::sig_atomic_t type   (macro constant)  | 
|    WCHAR_MIN (C++11)  | 
   maximum value of object of wchar_t type   (macro constant)  | 
|    WCHAR_MAX (C++11)  | 
   maximum value of object of wchar_t type   (macro constant)  | 
|    WINT_MIN (C++11)  | 
   maximum value of object of std::wint_t type   (macro constant)  | 
|    WINT_MAX (C++11)  | 
   maximum value of object of std::wint_t type   (macro constant)  | 
[edit] Limits of integer types
|   Defined in header <climits>  
 | |
|    CHAR_BIT  | 
   number of bits in byte   (macro constant)  | 
|    MB_LEN_MAX  | 
   maximum number of bytes in a multibyte character   (macro constant)  | 
|    CHAR_MIN  | 
   minimum value of char   (macro constant)  | 
|    CHAR_MAX  | 
   maximum value of char   (macro constant)  | 
|    SCHAR_MIN SHRT_MIN INT_MIN LONG_MIN LLONG_MIN (C++11)  | 
   minimum value of signed char, short, int, long and long long respectively  (macro constant)  | 
|    SCHAR_MAX SHRT_MAX INT_MAX LONG_MAX LLONG_MAX (C++11)  | 
   maximum value of signed char, short, int, long and long long respectively  (macro constant)  | 
|    UCHAR_MAX USHRT_MAX UINT_MAX ULONG_MAX ULLONG_MAX (C++11)  | 
   maximum value of unsigned char, unsigned short, unsigned int, unsigned long and unsigned long long respectively (macro constant)  | 
[edit] Limits of floating point types
|   Defined in header <cfloat>  
 | |
|    FLT_RADIX  | 
   the radix (integer base) used by the representation of all three floating-point types   (macro constant)  | 
|    DECIMAL_DIG (C++11)  | 
   number of decimal digits that can be converted to long double and back without losing precision   (macro constant)  | 
|    FLT_MIN DBL_MIN LDBL_MIN  | 
   minimum value of float, double and long double respectively   (macro constant)  | 
|    FLT_MAX DBL_MAX LDBL_MAX  | 
   maximum value of float, double and long double respectively   (macro constant)  | 
|    FLT_EPSILON DBL_EPSILON LDBL_EPSILON  | 
   difference between 1.0 and the next representable value for float, double and long double respectively   (macro constant)  | 
|    FLT_DIG DBL_DIG LDBL_DIG  | 
   number of decimal digits that can be represented without losing precision for float, double and long double respectively   (macro constant)  | 
|    FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG  | 
   number of base FLT_RADIX digits that can be represented without losing precision for float, double and long double respectively   (macro constant)  | 
|    FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP  | 
   minimum negative integer such that FLT_RADIX raised by power one less than that integer is a normalized float, double and long double respectively   (macro constant)  | 
|    FLT_MIN_10_EXP DBL_MIN_10_EXP LDBL_MIN_10_EXP  | 
   minimum negative integer such that 10 raised by power one less than that integer is a normalized float, double and long double respectively   (macro constant)  | 
|    FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP  | 
   maximum positive integer such that FLT_RADIX raised by power one more than that integer is a normalized float, double and long double respectively   (macro constant)  | 
|    FLT_MAX_10_EXP DBL_MAX_10_EXP LDBL_MAX_10_EXP  | 
   maximum positive integer such that 10 raised by power one more than that integer is a normalized float, double and long double respectively   (macro constant)  | 
|    FLT_ROUNDS  | 
   rounding mode of floating-point arithmetics, equal to std::float_round_style   (macro constant)  | 
|    FLT_EVAL_METHOD (C++11)  | 
   use of extended precision for intermediate results: 0 not used, 1 double is used instead of float, 2: long double is used   (macro constant)  |