std::numeric_limits<T>::digits
来自cppreference.com
< cpp | types | numeric limits
| 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 | CHAR_BIT |
| char16_t | CHAR_BIT*sizeof(char16_t) |
| char32_t | 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 | CHAR_BIT*sizeof(long long)-1 |
| unsigned long long | CHAR_BIT*sizeof(long long) |
| float | FLT_MANT_DIG |
| double | DBL_MANT_DIG |
| long double | LDBL_MANT_DIG |
参阅
| [静态] |
给定类型的表示所用的基或整数底 (公开静态成员常量) |
| [静态] |
底的该数次幂是合法正规浮点值的最小负数加一 (公开静态成员常量) |
| [静态] |
底的该数次幂是合法有限浮点值的最大整数加一 (公开静态成员常量) |