Namespaces
Variants

std::numeric_limits<T>::digits

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Программные утилиты
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
 
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)