std::numeric_limits<T>:: digits
|
static
const
int
digits
;
|
(C++11 이전) | |
|
static
constexpr
int
digits
;
|
(C++11 이후) | |
std::
numeric_limits
<
T
>
::
digits
값은 기수
radix
체계에서 타입
T
로 변경 없이 표현할 수 있는 자릿수입니다. 정수 타입의 경우, 부호 비트와 패딩 비트(있는 경우)를 제외한 비트 수입니다. 부동소수점 타입의 경우, 이는 가수부의 자릿수입니다(
IEC 559/IEEE 754
구현의 경우, 가수부에 저장되는 자릿수에 1을 더한 값입니다. 왜냐하면 가수부에는 암시적 선행 1과 이진 소수점이 있기 때문입니다).
표준 특수화
T
|
std::
numeric_limits
<
T
>
::
digits
의 값
( 패딩 비트 가 없다고 가정할 때) |
| /* 비특수화 */ | 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 (C++20 이후) | CHAR_BIT |
| char16_t (C++11부터) | CHAR_BIT * sizeof ( char16_t ) |
| char32_t (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 (C++11부터) | CHAR_BIT * sizeof ( long long ) - 1 |
| unsigned long long (C++11 이후) | CHAR_BIT * sizeof ( long long ) |
| float | FLT_MANT_DIG |
| double | DBL_MANT_DIG |
| long double | LDBL_MANT_DIG |
참고 항목
|
[static]
|
주어진 타입의 표현에 사용되는 기수 또는 정수 베이스
(public static member constant) |
|
[static]
|
유효한 정규화된 부동소수점 값인 기수의 가장 작은 음의 거듭제곱보다 1 큰 값
(public static member constant) |
|
[static]
|
유효한 유한 부동소수점 값인 기수의 가장 큰 정수 거듭제곱보다 1 큰 값
(public static member constant) |