<limits>numeric_limits

使用头文件算出数据类型最大最小值

numeric_limits<int>::min()
numeric_limits<int>::max()
template <class T> numeric_limits;

Members

member type property
is_specialized bool true for all arithmetic types (i.e., those for which numeric_limits is specialized).
false for all other types.
min() T Minimum finite value.
For floating types with denormalization (variable number of exponent bits): minimum positive normalized value.
Equivalent to CHAR_MINSCHAR_MINSHRT_MININT_MINLONG_MINLLONG_MINFLT_MINDBL_MINLDBL_MIN or 0, depending on type.
max() T Maximum finite value.
Equivalent to CHAR_MAXSCHAR_MAXUCHAR_MAXSHRT_MAXUSHRT_MAXINT_MAXUINT_MAXLONG_MAXULONG_MAXLLONG_MAXULLONG_MAXUINT_LEAST16_MAXUINT_LEAST32_MAXFLT_MAXDBL_MAX or LDBL_MAX, depending on type.
lowest() T Minimum finite value. (since C++11)
For integral types: the same as min().
For floating-point types: implementation-dependent; generally, the negative of max().
digits int For integer types: number of non-sign bits (radix base digits) in the representation.
For floating types: number of digits (in radix base) in the mantissa (equivalent to FLT_MANT_DIGDBL_MANT_DIG or LDBL_MANT_DIG).
digits10 int Number of digits (in decimal base) that can be represented without change.
Equivalent to FLT_DIGDBL_DIG or LDBL_DIG for floating types.
max_digits10 int Number of digits (in decimal base) required to ensure that values that differ are always differentiated.
is_signed bool true if type is signed.
is_integer bool true if type is integer.
is_exact bool true if type uses exact representations.
radix int For integer types: base of the representation.
For floating types: base of the exponent of the representation (equivalent to FLT_RADIX).
epsilon() T Machine epsilon (the difference between 1 and the least value greater than 1 that is representable).
Equivalent to FLT_EPSILONDBL_EPSILON or LDBL_EPSILON for floating types.
round_error() T Measure of the maximum rounding error.
min_exponent int Minimum negative integer value such that radix raised to (min_exponent-1)generates a normalized floating-point number.
Equivalent to FLT_MIN_EXPDBL_MIN_EXP or LDBL_MIN_EXP for floating types.
min_exponent10 int Minimum negative integer value such that 10 raised to that power generates a normalized floating-point number.
Equivalent to FLT_MIN_10_EXPDBL_MIN_10_EXP or LDBL_MIN_10_EXP for floating types.
max_exponent int Maximum integer value such that radix raised to (max_exponent-1) generates a representable finite floating-point number.
Equivalent to FLT_MAX_EXPDBL_MAX_EXP or LDBL_MAX_EXP for floating types.
max_exponent10 int Maximum integer value such that 10 raised to that power generates a normalized finite floating-point number.
Equivalent to FLT_MAX_10_EXPDBL_MAX_10_EXP or LDBL_MAX_10_EXP for floating types.
has_infinity bool true if the type has a representation for positive infinity.
has_quiet_NaN bool true if the type has a representation for a quiet (non-signaling) "Not-a-Number".
has_signaling_NaN bool true if the type has a representation for a signaling "Not-a-Number".
has_denorm float_denorm_style Denormalized values (representations with a variable number of exponent bits). A type may have any of the following enum values:
denorm_absent, if it does not allow denormalized values.
denorm_present, if it allows denormalized values.
denorm_indeterminate, if indeterminate at compile time.
has_denorm_loss bool true if a loss of accuracy is detected as a denormalization loss, rather than an inexact result.
infinity() T Representation of positive infinity, if available.
quiet_NaN() T Representation of quiet (non-signaling) "Not-a-Number", if available.
signaling_NaN() T Representation of signaling "Not-a-Number", if available.
denorm_min() T Minimum positive denormalized value.
For types not allowing denormalized values: same as min().
is_iec559 bool true if the type adheres to IEC-559 / IEEE-754 standard.
An IEC-559 type always has has_infinityhas_quiet_NaN and has_signaling_NaN set to true; And infinityquiet_NaN and signaling_NaN return some non-zero value.
is_bounded bool true if the set of values represented by the type is finite.
is_modulo bool true if the type is modulo. A type is modulo if it is possible to add two positive numbers and have a result that wraps around to a third number that is less.
traps bool true if trapping is implemented for the type.
tinyness_before bool true if tinyness is detected before rounding.
round_style float_round_style Rounding style. A type may have any of the following enum values:
round_toward_zero, if it rounds toward zero.
round_to_nearest, if it rounds to the nearest representable value.
round_toward_infinity, if it rounds toward infinity.
round_toward_neg_infinity, if it rounds toward negative infinity.
round_indeterminate, if the rounding style is indeterminable at compile time.

猜你喜欢

转载自blog.csdn.net/zhouzi2018/article/details/80786524