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 , это количество цифр, хранимых для мантиссы плюс один, поскольку мантисса имеет неявную ведущую единицу и двоичную точку).

Стандартные специализации

**Примечание:** В данном фрагменте HTML не содержится переводимого текста - все элементы представляют собой HTML-теги, атрибуты, C++ ключевые слова (`unsigned`, `char`) и идентификаторы (`CHAR_BIT`), которые согласно требованиям не подлежат переводу. **Примечание:** В данном фрагменте HTML весь текст уже является C++ кодом (находится внутри тегов ` `), поэтому переводу не подлежит согласно указанным правилам. HTML структура и форматирование полностью сохранены. **Примечание:** В данном фрагменте HTML не содержится переводимого текста - все элементы являются HTML-тегами, атрибутами, C++ ключевыми словами (`float`) и идентификаторами (`FLT_MANT_DIG`), которые согласно инструкциям не подлежат переводу. **Примечание:** В данном фрагменте HTML не содержится переводимого текста - все элементы являются HTML-тегами, атрибутами, C++ ключевыми словами (`double`) и идентификаторами (`DBL_MANT_DIG`), которые согласно инструкциям не подлежат переводу. **Объяснение перевода:** - HTML-теги и атрибуты сохранены без изменений - Текст внутри тегов ` ` не переведен, так как содержит C++ специфичные термины - Название макроса `LDBL_MANT_DIG` сохранено в оригинале - Структура таблицы и форматирование полностью сохранены - Ссылка и её атрибуты остались без изменений В данном случае переводить практически нечего, так как весь контент состоит из C++ терминов и HTML-разметки, которые должны оставаться неизменными согласно требованиям.
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)
на единицу больше наименьшей отрицательной степени основания, которая является допустимым нормализованным значением с плавающей точкой
(public static member constant)
на единицу больше наибольшей целой степени основания, которая является допустимым конечным значением с плавающей точкой
(public static member constant)