Пространства имён
Варианты
Действия

std::numeric_limits::max_digits10

Материал из cppreference.com

 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм(C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования(C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
 
 
staticconstexprint max_digits10
(начиная с C++11)
Значение std::numeric_limits<T>::max_digits10 число база-10 цифр, которые необходимы, чтобы однозначно представляют все различные значения типа T, такие как необходимые для сериализации / десериализации в текст. Эта константа имеет смысл для всех типов с плавающей запятой.
Оригинал:
The value of std::numeric_limits<T>::max_digits10 is the number of base-10 digits that are necessary to uniquely represent all distinct values of the type T, such as necessary for serialization/deserialization to text. This constant is meaningful for all floating-point types.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править]Стандартный специализации

T
Значение std::numeric_limits<T>::max_digits10
Оригинал:
value of std::numeric_limits<T>::max_digits10
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
/* non-specialized */ 0
bool0
char0
signedchar0
unsignedchar0
wchar_t0
char16_t0
char32_t0
short0
unsignedshort0
int0
unsignedint0
long0
unsignedlong0
longlong0
unsignedlonglong0
floatstd::floor(std::numeric_limits<float>::digits*std::log10(2)+2)
doublestd::floor(std::numeric_limits<double>::digits*std::log10(2)+2)
longdoublestd::floor(std::numeric_limits<longdouble>::digits*std::log10(2)+2)

[править]Заметки

В отличие от большинства математических операций, преобразования с плавающей запятой в текст и обратно' точный тех пор, пока по крайней мере, max_digits10 были использованы (9 для float, 17 для double): он гарантированно производить тот же плавающей запятой, хотя промежуточное представление текста не является точной. Это может занять более ста десятичных цифр представлять точное значение float в десятичной системе счисления.
Оригинал:
Unlike most mathematical operations, the conversion of a floating-point value to text and back is exact as long as at least max_digits10 were used (9 for float, 17 for double): it is guaranteed to produce the same floating-point value, even though the intermediate text representation is not exact. It may take over a hundred decimal digits to represent the precise value of a float in decimal notation.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править]См. также

[static]
основание системы счисления или целочисленное основание, используемое представлением данного типа
(public static константа-элемент)[править]
[static]
количество цифр системы счисления, которые могут быть представлены без изменений
(public static константа-элемент)[править]
[static]
количество десятичных цифр, которые могут быть представлены без изменений
(public static константа-элемент)[править]
[static]
на единицу больше, чем наименьшая отрицательная степень системы счисления, которая является допустимым нормализованным значением с плавающей запятой
(public static константа-элемент)[править]
[static]
на единицу больше, чем наибольшая целая степень системы счисления, которая является допустимым конечным значением с плавающей запятой
(public static константа-элемент)[править]
close