template <class T> numeric_limits;
基本算术类型 | |
---|---|
整数类型 | bool |
char | |
wchar_t | |
signed char | |
short int | |
int | |
long int | |
unsigned char | |
unsigned short int | |
unsigned int | |
unsigned long int | |
浮点类型 | float |
double | |
long double |
基本算术类型 | |
---|---|
整数类型 | bool |
char | |
char16_t | |
char32_t | |
wchar_t | |
signed char | |
short int | |
int | |
long int | |
long long int | |
unsigned char | |
unsigned short int | |
unsigned int | |
unsigned long int | |
unsigned long long int | |
浮点类型 | float |
double | |
long double |
const
和/或volatile
限定版本进行了特化,其值与无限定的特化相同。成员 | 类型 | 属性 |
---|---|---|
is_specialized | bool | 对于所有*算术类型*(即numeric_limits特化的类型)为true 。对于所有其他类型为 false 。 |
min() | T | 最小有限值。 对于具有反规格化(指数位数可变)的浮点类型:最小正规格化值。 取决于类型,等同于CHAR_MIN、SCHAR_MIN、SHRT_MIN、INT_MIN、LONG_MIN、LLONG_MIN、FLT_MIN、DBL_MIN、LDBL_MIN或 0 。 |
max() | T | 最大有限值。 取决于类型,等同于CHAR_MAX、SCHAR_MAX、UCHAR_MAX、SHRT_MAX、USHRT_MAX、INT_MAX、UINT_MAX、LONG_MAX、ULONG_MAX、LLONG_MAX、ULLONG_MAX、UINT_LEAST16_MAX、UINT_LEAST32_MAX、FLT_MAX、DBL_MAX或LDBL_MAX。 |
lowest() | T | 最小有限值。(自C++11起) 对于整数类型:与min()相同。 对于浮点类型:实现定义;通常是max()的负值。 |
digits | int | 对于整数类型:表示中非符号位的数量(radix进制数字)。 对于浮点类型:尾数中的数字数量(radix进制);等同于FLT_MANT_DIG、DBL_MANT_DIG或LDBL_MANT_DIG)。 |
digits10 | int | 能够不改变地表示的(十进制)数字数量。 对于浮点类型,等同于FLT_DIG、DBL_DIG或LDBL_DIG。 |
max_digits10 | int | 为了确保不同值总是能被区分而需要的(十进制)数字数量。 |
is_signed | bool | 如果类型是有符号的,则为true 。 |
is_integer | bool | 如果类型是整数,则为true 。 |
is_exact | bool | 如果类型使用精确表示,则为true 。 |
radix | int | 对于整数类型:表示的基数。 对于浮点类型:表示中指数的基数(等同于FLT_RADIX)。 |
epsilon() | T | 机器epsilon(1与大于1的最小可表示值之间的差)。 对于浮点类型,等同于FLT_EPSILON、DBL_EPSILON或LDBL_EPSILON。 |
round_error() | T | 最大舍入误差的度量。 |
min_exponent | int | 最小负整数值,使得radix的(min_exponent-1) 次方生成一个规格化的浮点数。对于浮点类型,等同于FLT_MIN_EXP、DBL_MIN_EXP或LDBL_MIN_EXP。 |
min_exponent10 | int | 最小负整数值,使得10的该次方生成一个规格化的浮点数。 对于浮点类型,等同于FLT_MIN_10_EXP、DBL_MIN_10_EXP或LDBL_MIN_10_EXP。 |
max_exponent | int | 最大整数值,使得radix的(max_exponent-1) 次方生成一个可表示的有限浮点数。对于浮点类型,等同于FLT_MAX_EXP、DBL_MAX_EXP或LDBL_MAX_EXP。 |
max_exponent10 | int | 最大整数值,使得10的该次方生成一个规格化的有限浮点数。 对于浮点类型,等同于FLT_MAX_10_EXP、DBL_MAX_10_EXP或LDBL_MAX_10_EXP。 |
has_infinity | bool | 如果类型有正无穷大的表示,则为true 。 |
has_quiet_NaN | bool | 如果类型有安静(非信号)“非数字”(NaN)的表示,则为true 。 |
has_signaling_NaN | bool | 如果类型有信号“非数字”(NaN)的表示,则为true 。 |
has_denorm | float_denorm_style | 反规格化值(指数位数可变的表示)。一个类型可能具有以下任一枚举值: denorm_absent,如果它不允许反规格化值。 denorm_present,如果它允许反规格化值。 denorm_indeterminate,如果编译时无法确定。 |
has_denorm_loss | bool | 如果*精度损失*被检测为反规格化损失,而不是不精确的结果,则为true 。 |
infinity() | T | 如果可用,则为*正无穷大*的表示。 |
quiet_NaN() | T | 如果可用,则为*安静*(非信号)*“非数字”*(NaN)的表示。 |
signaling_NaN() | T | 如果可用,则为*信号“非数字”*(NaN)的表示。 |
denorm_min() | T | 最小正反规格化值。 对于不允许反规格化值的类型:与 min() 相同。 |
is_iec559 | bool | 如果类型符合IEC-559 / IEEE-754标准,则为true 。IEC-559类型总是具有has_infinity、has_quiet_NaN和has_signaling_NaN设置为 true ;并且infinity、quiet_NaN和signaling_NaN返回非零值。 |
is_bounded | bool | 如果类型表示的值集是有限的,则为true 。 |
is_modulo | bool | 如果类型是模运算的,则为true 。如果两个正数相加后结果会回绕成一个更小的第三个数,则该类型为*模运算*类型。 |
traps | bool | 如果为该类型实现了陷阱(trapping),则为true 。 |
tinyness_before | bool | 如果在舍入之前检测到微小值(tinyness),则为true 。 |
round_style | float_round_style | 舍入风格。一个类型可能具有以下任一枚举值: round_toward_zero,如果它向零舍入。 round_to_nearest,如果它舍入到最近的可表示值。 round_toward_infinity,如果它向无穷大舍入。 round_toward_neg_infinity,如果它向负无穷大舍入。 round_indeterminate,如果舍入风格在编译时无法确定。 |
|
|
|
|
|
|
Minimum value for int: -2147483648 Maximum value for int: 2147483647 int is signed: true Non-sign bits in int: 31 int has infinity: false |