Namespaces
Variants

std::numeric_limits<T>:: digits

From cppreference.net
Utilities library
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)
유효한 정규화된 부동소수점 값인 기수의 가장 작은 음의 거듭제곱보다 1 큰 값
(public static member constant)
유효한 유한 부동소수점 값인 기수의 가장 큰 정수 거듭제곱보다 1 큰 값
(public static member constant)