РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
132 of 815 menu

Поле digits

Поле digits класса numeric_limits возвращает количество цифр в мантиссе для чисел с плавающей точкой или количество битов (без учёта знакового бита) для целочисленных типов, которые могут быть представлены без потери точности. Для целых типов значение равно количеству битов, доступных для хранения значения, то есть sizeof(T) * CHAR_BIT - is_signed. Для типов с плавающей точкой значение равно количеству десятичных цифр в мантиссе.

Синтаксис

#include <limits> numeric_limits<T>::digits

Пример

Давайте выведем значение поля digits для нескольких фундаментальных типов:

#include <iostream> #include <limits> using namespace std; int main() { cout << "int: " << numeric_limits<int>::digits << endl; cout << "unsigned int: " << numeric_limits<unsigned int>::digits << endl; cout << "char: " << numeric_limits<char>::digits << endl; cout << "float: " << numeric_limits<float>::digits << endl; cout << "double: " << numeric_limits<double>::digits << endl; return 0; }

Результат выполнения кода:

"int: 31" "unsigned int: 32" "char: 7" "float: 24" "double: 53"

Пример

Давайте проверим, что для знакового и беззнакового типов значение digits отличается на 1:

#include <iostream> #include <limits> using namespace std; int main() { int diff = numeric_limits<unsigned int>::digits - numeric_limits<int>::digits; cout << "Difference: " << diff << endl; return 0; }

Результат выполнения кода:

"Difference: 1"

Смотрите также

  • класс numeric_limits,
    который предоставляет информацию о типах
  • поле min,
    которое возвращает минимальное значение типа
  • поле max,
    которое возвращает максимальное значение типа
  • поле epsilon,
    которое возвращает машинную эпсилон
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить