std::numeric_limits<T>:: digits
static
const
int
digits
;
|
(until C++11) | |
static
constexpr
int
digits
;
|
(since C++11) | |
The value of
std::
numeric_limits
<
T
>
::
digits
is the number of digits in base-
radix
that can be represented by the type
T
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 (for
IEC 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).
Standard specializations
T
|
value of
std::
numeric_limits
<
T
>
::
digits
(assuming no padding bits ) |
/* non-specialized */ | 0 |
bool | 1 |
char | CHAR_BIT - std:: numeric_limits < char > :: is_signed |
signed char | CHAR_BIT - 1 |
unsigned char | 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 |
unsigned short | CHAR_BIT * sizeof ( short ) |
int | CHAR_BIT * sizeof ( int ) - 1 |
unsigned int | CHAR_BIT * sizeof ( int ) |
long | CHAR_BIT * sizeof ( long ) - 1 |
unsigned long | CHAR_BIT * sizeof ( long ) |
long long (since C++11) | CHAR_BIT * sizeof ( long long ) - 1 |
unsigned long long (since C++11) | CHAR_BIT * sizeof ( long long ) |
float | FLT_MANT_DIG |
double | DBL_MANT_DIG |
long double | LDBL_MANT_DIG |
See also
[static]
|
the radix or integer base used by the representation of the given type
(public static member constant) |
[static]
|
one more than the smallest negative power of the radix that is a valid normalized floating-point value
(public static member constant) |
[static]
|
one more than the largest integer power of the radix that is a valid finite floating-point value
(public static member constant) |