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 的值表示类型 T 在基数为 radix 时能够无误差表示的位数。对于整数类型,这是不包含符号位和填充位(如果存在)的比特位数。对于浮点类型,这表示尾数的位数(对于 IEC 559/IEEE 754 实现,该值为尾数存储位数加一,因为尾数具有隐含的最高位1和二进制小数点)。

标准特化

T std:: numeric_limits < T > :: digits 的值
(假设无 填充位 )
/* 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 (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]
用于表示给定类型的基数或整数进制
(公开静态成员常量)
比最小负基数幂大一的值,该幂是有效的规范化浮点值
(公开静态成员常量)
比最大整数基数幂大一的值,该幂是有效的有限浮点值
(公开静态成员常量)