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 |