std::numeric_limits::max_exponent10

static const int max_exponent10; (until C++11) static constexpr int max_exponent10; (since C++11) The value of std::numeric_limits<T>::max_exponent10 is the largest positive number n such that 10n is a representable finite value of the floating-point type T. Standard specializations T value of std::numeric_limits<T>::max_exponent10 /* non-specialized */ ​0​ bool ​0​ char ​0​ signed char ​0​ unsigned char ​0​ wchar_t ​0​ char16_t ​0​

std::numeric_limits::max_exponent

static const int max_exponent; (until C++11) static constexpr int max_exponent; (since C++11) The value of std::numeric_limits<T>::max_exponent is the largest positive number n such that 2n-1 is a representable finite value of the floating-point type T. Standard specializations T value of std::numeric_limits<T>::max_exponent /* non-specialized */ ​0​ bool ​0​ char ​0​ signed char ​0​ unsigned char ​0​ wchar_t ​0​ char16_t ​0​ char32_

std::numeric_limits::max_digits10

static constexpr int max_digits10 (since C++11) The value of std::numeric_limits<T>::max_digits10 is the number of base-10 digits that are necessary to uniquely represent all distinct values of the type T, such as necessary for serialization/deserialization to text. This constant is meaningful for all floating-point types. Standard specializations T value of std::numeric_limits<T>::max_digits10 /* non-specialized */ ​0​ bool ​0​ char ​0​ signed char ​0​

std::numeric_limits::max

static T max(); (until C++11) static constexpr T max(); (since C++11) Returns the maximum finite value representable by the numeric type T. Meaningful for all bounded types. Return value T std::numeric_limits<T>::max() /* non-specialized */ T(); bool true char CHAR_MAX signed char SCHAR_MAX unsigned char UCHAR_MAX wchar_t WCHAR_MAX char16_t UINT_LEAST16_MAX char32_t UINT_LEAST32_MAX short SHRT_MAX unsigned short USHRT_MAX int

std::numeric_limits::lowest

static constexpr T lowest() (since C++11) Returns the lowest finite value representable by the numeric type T, that is, a finite value x such that there is no other finite value y where y < x. This is different from std::numeric_limits<T>::min() for floating-point types. Only meaningful for bounded types. Return value T std::numeric_limits<T>::lowest() /* non-specialized */ T(); bool false char CHAR_MIN signed char SCHAR_MIN unsigned char ​0​ w

std::numeric_limits::is_specialized

static const bool is_specialized; (until C++11) static constexpr bool is_specialized; (since C++11) The value of std::numeric_limits<T>::is_specialized is true for all T for which there exists a specialization of std::numeric_limits. Standard specializations T value of std::numeric_limits<T>::is_specialized /* non-specialized */ false bool true char true signed char true unsigned char true wchar_t true char16_t true char32_t true

std::numeric_limits::is_signed

static const bool is_signed; (until C++11) static constexpr bool is_signed; (since C++11) The value of std::numeric_limits<T>::is_signed is true for all signed arithmetic types T and false for the unsigned types. This constant is meaningful for all specializations. Standard specializations T value of std::numeric_limits<T>::is_signed /* non-specialized */ false bool false char implementation-defined signed char true unsigned char false wchar

std::numeric_limits::is_modulo

static const bool is_modulo; (until C++11) static constexpr bool is_modulo; (since C++11) The value of std::numeric_limits<T>::is_modulo is true for all arithmetic types T that handle overflows with modulo arithmetic, that is, if the result of addition, subtraction, multiplication, or division of this type would fall outside the range [min(), max()], the value returned by such operation differs from the expected value by a multiple of max()-min()+1. Standard specialization

std::numeric_limits::is_integer

static const bool is_integer; (until C++11) static constexpr bool is_integer; (since C++11) The value of std::numeric_limits<T>::is_integer is true for all integer arithmetic types T and false otherwise. This constant is meaningful for all specializations. Standard specializations T value of std::numeric_limits<T>::is_integer /* non-specialized */ false bool true char true signed char true unsigned char true wchar_t true char16_t true

std::numeric_limits::is_iec559

static const bool is_iec559; (until C++11) static constexpr bool is_iec559; (since C++11) The value of std::numeric_limits<T>::is_iec559 is true for all floating-point types T which fulfill the requirements of IEC 559 (IEEE 754) standard. If std::numeric_limits<T>::is_iec559 is true, then std::numeric_limits<T>::has_infinity, std::numeric_limits<T>::has_quiet_NaN, and std::numeric_limits<T>::has_signaling_NaN are also true. Standard specializations