std::numeric_limits<T>:: digits
|
static
const
int
digits
;
|
(C++11まで) | |
|
static
constexpr
int
digits
;
|
(C++11以降) | |
std::
numeric_limits
<
T
>
::
digits
の値は、型
T
が変更なく表現できる基数
radix
での桁数です。整数型の場合、これは符号ビットとパディングビット(存在する場合)を除いたビット数です。浮動小数点型の場合、これは仮数部の桁数です(
IEC 559/IEEE 754
実装では、仮数部に暗黙の先行1と二進小数点があるため、仮数部に格納される桁数に1を加えた値です)。
標準特殊化
T
|
std::
numeric_limits
<
T
>
::
digits
の値
( パディングビット なしを仮定) |
| /* 非特殊化 */ | 0 |
| bool | 1 |
| bool | 1 |
| char | CHAR_BIT - std:: numeric_limits < char > :: is_signed |
| signed char | CHAR_BIT - 1 |
| unsigned char | CHAR_BIT |
| 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 ) |
| 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 |
| 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) |