|
|
Basic types | |||||||||||||||||||||
Fixed width integer types(C++11) | |||||||||||||||||||||
Fixed width floating-point types(C++23) | |||||||||||||||||||||
| |||||||||||||||||||||
Numeric limits | |||||||||||||||||||||
C numeric limits interface | |||||||||||||||||||||
Runtime type information | |||||||||||||||||||||
|
Static constants | ||||
numeric_limits::digits | ||||
(C++11) | ||||
Static member functions | ||||
(C++11) | ||||
Helper types | ||||
staticconstint digits; | (until C++11) | |
staticconstexprint digits; | (since C++11) | |
The value ofstd::numeric_limits<T>::digits is the number of digits in base-radix that can be represented by the typeT
without change. For integer types, this is the number of bits not counting the sign bit and the padding bits (if any). For floating-point types, this is the digits of the mantissa (forIEC 559/IEEE 754 implementations, this is the number of digits stored for the mantissa plus one, because the mantissa has an implicit leading 1 and binary point).
T | value ofstd::numeric_limits<T>::digits (assuming nopadding bits) |
/* non-specialized */ | 0 |
bool | 1 |
char | CHAR_BIT-std::numeric_limits<char>::is_signed |
signedchar | CHAR_BIT-1 |
unsignedchar | CHAR_BIT |
wchar_t | CHAR_BIT* sizeof(wchar_t) -std::numeric_limits<wchar_t>::is_signed |
char8_t(since C++20) | CHAR_BIT |
char16_t(since C++11) | CHAR_BIT* sizeof(char16_t) |
char32_t(since C++11) | CHAR_BIT* sizeof(char32_t) |
short | CHAR_BIT* sizeof(short)-1 |
unsignedshort | CHAR_BIT* sizeof(short) |
int | CHAR_BIT* sizeof(int)-1 |
unsignedint | CHAR_BIT* sizeof(int) |
long | CHAR_BIT* sizeof(long)-1 |
unsignedlong | CHAR_BIT* sizeof(long) |
longlong(since C++11) | CHAR_BIT* sizeof(longlong)-1 |
unsignedlonglong(since C++11) | CHAR_BIT* sizeof(longlong) |
float | FLT_MANT_DIG |
double | DBL_MANT_DIG |
longdouble | LDBL_MANT_DIG |
[static] | the radix or integer base used by the representation of the given type (public static member constant)[edit] |
[static] | one more than the smallest negative power of the radix that is a valid normalized floating-point value (public static member constant)[edit] |
[static] | one more than the largest integer power of the radix that is a valid finite floating-point value (public static member constant)[edit] |