std::numeric_limits<T>::is_iec559

来自cppreference.com
 
 
 
 
 
static const bool is_iec559;
(C++11 前)
static constexpr bool is_iec559;
(C++11 起)

std::numeric_limits<T>::is_iec559 的值对于所有符合 IEC 559(IEEE 754)标准要求的浮点数类型 T 都是 true。如果 std::numeric_limits<T>::is_iec559true,那么 std::numeric_limits<T>::has_infinitystd::numeric_limits<T>::has_quiet_NaNstd::numeric_limits<T>::has_signaling_NaN 也是 true

标准特化

Tstd::numeric_limits<T>::is_iec559 的值
/* 未特化 */false
boolfalse
charfalse
signed charfalse
unsigned charfalse
wchar_tfalse
char8_t (C++20 起)false
char16_t (C++11 起)false
char32_t (C++11 起)false
shortfalse
unsigned shortfalse
intfalse
unsigned intfalse
longfalse
unsigned longfalse
long long (C++11 起)false
unsigned long long (C++11 起)false
float通常是 true
double通常是 true
long double通常是 true

参阅

鉴别能表示特殊值“正无穷大”的浮点数类型
(公开静态成员常量)
鉴别能表示特殊值“安静的非数”(NaN)的浮点数类型
(公开静态成员常量)
鉴别能表示特殊值“发信的非数”(NaN)的浮点数类型
(公开静态成员常量)