std::numeric_limits<T>::is_iec559
From cppreference.com
< cpp | types | numeric limits
staticconstbool is_iec559; | (until C++11) | |
staticconstexprbool 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.
[edit]Standard specializations
T | value of std::numeric_limits<T>::is_iec559 |
/* non-specialized */ | false |
bool | false |
char | false |
signedchar | false |
unsignedchar | false |
wchar_t | false |
char8_t(since C++20) | false |
char16_t(since C++11) | false |
char32_t(since C++11) | false |
short | false |
unsignedshort | false |
int | false |
unsignedint | false |
long | false |
unsignedlong | false |
longlong(since C++11) | false |
unsignedlonglong(since C++11) | false |
float | usually true |
double | usually true |
longdouble | usually true |
[edit]See also
[static] | identifies floating-point types that can represent the special value "positive infinity" (public static member constant) |
[static] | identifies floating-point types that can represent the special value "quiet not-a-number" (NaN) (public static member constant) |
[static] | identifies floating-point types that can represent the special value "signaling not-a-number" (NaN) (public static member constant) |