std::numeric_limits::is_exact

static const bool is_exact; (until C++11) static constexpr bool is_exact; (since C++11) The value of std::numeric_limits<T>::is_exact is true for all arithmetic types T that use exact representation. Standard specializations T value of std::numeric_limits<T>::is_exact /* non-specialized */ false bool true char true signed char true unsigned char true wchar_t true char16_t true char32_t true short true unsigned short true

std::numeric_limits::is_bounded

static const bool is_bounded; (until C++11) static constexpr bool is_bounded; (since C++11) The value of std::numeric_limits<T>::is_bounded is true for all arithmetic types T that represent a finite set of values. While all fundamental types are bounded, this constant would be false in a specialization of std::numeric_limits for a library-provided arbitrary precision arithmetic type. Standard specializations T value of std::numeric_limits<T>::is_bounded /* non-

std::numeric_limits::infinity

static T infinity(); (until C++11) static constexpr T infinity(); (since C++11) Returns the special value "positive infinity", as represented by the floating-point type T. Only meaningful if std::numeric_limits<T>::has_infinity == true. In IEEE 754, the most common binary representation of floating-point numbers, the positive infinity is the value with all bits of the exponent set and all bits of the fraction cleared. Return value T std::numeric_limits<T>::infini

std::numeric_limits::has_signaling_NaN

static const bool has_signaling_NaN; (until C++11) static constexpr bool has_signaling_NaN; (since C++11) The value of std::numeric_limits<T>::has_signaling_NaN is true for all types T capable of representing the special value "Signaling Not-A-Number". This constant is meaningful for all floating-point types and is guaranteed to be true if std::numeric_limits<T>::is_iec559 == true. Standard specializations T value of std::numeric_limits<T>::has_signaling_Na

std::numeric_limits::has_quiet_NaN

static const bool has_quiet_NaN; (until C++11) static constexpr bool has_quiet_NaN; (since C++11) The value of std::numeric_limits<T>::has_quiet_NaN is true for all types T capable of representing the special value "Quiet Not-A-Number". This constant is meaningful for all floating-point types and is guaranteed to be true if std::numeric_limits<T>::is_iec559 == true. Standard specializations T value of std::numeric_limits<T>::has_quiet_NaN /* non-specializ

std::numeric_limits::has_infinity

static const bool has_infinity; (until C++11) static constexpr bool has_infinity; (since C++11) The value of std::numeric_limits<T>::has_infinity is true for all types T capable of representing the positive infinity as a distinct special value. This constant is meaningful for all floating-point types and is guaranteed to be true if std::numeric_limits<T>::is_iec559 == true. Standard specializations T value of std::numeric_limits<T>::has_infinity /* non-sp

std::numeric_limits::has_denorm_loss

static const bool has_denorm_loss; (until C++11) static constexpr bool has_denorm_loss; (since C++11) The value of std::numeric_limits<T>::has_denorm_loss is true for all floating-point types T that detect loss of precision when creating a subnormal number as denormalization loss rather than as inexact result (see below). Standard specializations T value of std::numeric_limits<T>::has_denorm_loss /* non-specialized */ false bool false char false sig

std::numeric_limits::has_denorm

static const std::float_denorm_style has_denorm (until C++11) static constexpr std::float_denorm_style has_denorm (since C++11) The value of std::numeric_limits<T>::has_denorm identifies the floating-point types that support subnormal values. Standard specializations T value of std::numeric_limits<T>::has_denorm /* non-specialized */ std::denorm_absent bool std::denorm_absent char std::denorm_absent signed char std::denorm_absent unsigned char

std::numeric_limits::epsilon

static T epsilon(); (until C++11) static constexpr T epsilon(); (since C++11) Returns the machine epsilon, that is, the difference between 1.0 and the next value representable by the floating-point type T. It is only meaningful if std::numeric_limits<T>::is_integer == false. Return value T std::numeric_limits<T>::epsilon() /* non-specialized */ T(); bool false char ​0​ signed char ​0​ unsigned char ​0​ wchar_t ​0​ char16_t ​0​ char32

std::numeric_limits::digits10

static const int digits10; (until C++11) static constexpr int digits10 (since C++11) The value of std::numeric_limits<T>::digits10 is the number of base-10 digits that can be represented by the type T without change, that is, any number with this many decimal digits can be converted to a value of type T and back to decimal form, without change due to rounding or overflow. For base-radix types, it is the value of digits (digits-1 for floating-point types) multiplied by log10(