std :: numeric_limits :: max () и std :: numeric_limits :: min () в C ++

Опубликовано: 29 Декабря, 2021

std :: numeric_limits :: max () :

Функция std :: numeric_limits <T> :: max () используется для получения максимального конечного значения, представляемого числовым типом T. Все арифметические типы действительны для типа T.

Заголовочный файл:

 #include <пределы>

Шаблон:

 статический T max () throw ();
статический constexpr T max () noexcept;

Синтаксис:

 std :: numeric_limits <T> :: max

Параметр: он принимает любой тип данных, т . Е. T.

Тип возврата: он возвращает предопределенные макросы, true или T () по умолчанию в зависимости от типа T. Некоторые стандартные возвращаемые значения:

Тип Т std :: numeric_limits <T> :: max ()
/ * неспециализированный * / Т ()
bool ПРАВДА
символ CHAR_MAX
подписанный символ SCHAR_MAX
беззнаковый символ UCHAR_MAX
wchar_t WCHAR_MAX
короткая SHRT_MAX
беззнаковый короткий USHRT_MAX
int INT_MAX
беззнаковое целое UINT_MAX
длинный LONG_MAX
беззнаковый длинный ULONG_MAX
долго долго LLONG_MAX
беззнаковый длинный длинный ULLONG_MAX
плавать FLT_MAX
двойной DBL_MAX
длинный двойной LDBL_MAX

Программа 1:

Ниже приведена программа, иллюстрирующая функцию std :: numeric_limits <T> :: max () . Вывод программы зависит от системы.

C ++

// C++ program to illustrate the
// function numeric_limits<T>::max
#include <iostream>
#include <limits>
using namespace std;
// Driver Code
int main()
{
cout << "bool: "
<< numeric_limits< bool >::max()
<< ' ' ;
// It returns 127 in ASCII value
// to print in integer that can
// be typecast it to int()
cout << "char: "
<< int (numeric_limits< char >::max())
<< ' ' ;
cout << "unsigned char: "
<< int (numeric_limits<unsigned char >::max())
<< ' ' ;
cout << "short: "
<< numeric_limits< short >::max()
<< ' ' ;
cout << "int: " << numeric_limits< int >::max()
<< ' ' ;
cout << "unsigned int: "
<< numeric_limits<unsigned int >::max()
<< ' ' ;
cout << "long long: "
<< numeric_limits< long long >::max()
<< ' ' ;
cout << "float: "
<< numeric_limits< float >::max()
<< ' ' ;
cout << "double: "
<< numeric_limits< double >::max()
<< ' ' ;
cout << "size_t: "
<< numeric_limits< size_t >::max()
<< ' ' ;
}
Выход:
bool: 1
char: 127
беззнаковый символ: 255
короткий: 32767
инт: 2147483647
беззнаковое целое число: 4294967295
длинный длинный: 9223372036854775807
float: 3.40282e + 38
двойной: 1.79769e + 308
size_t: 18446744073709551615

std :: numeric_limits :: min () :

Функция std :: numeric_limits <T> :: min () используется для получения минимального конечного значения, представляемого числовым типом T. Все ограниченные арифметические типы действительны для типа T.

Заголовочный файл:

 #include <пределы>

Шаблон:

 статический T min () throw ();
статический constexpr T min () noexcept;

Синтаксис:

 std :: numeric_limits <T> :: min

Параметр: он принимает любой тип данных, т . Е. T.

Тип возврата: он возвращает предопределенные макросы, истинные или стандартные T () в зависимости от типа T. Для типов с плавающей запятой с денормализацией min возвращает минимальное положительное нормализованное значение. Чтобы найти значение, не имеющее меньших значений для типа данных с плавающей запятой, используйте numeric_limits :: low () . Некоторые стандартные возвращаемые значения:

Тип Т std :: numeric_limits :: min ()
/ * неспециализированный * / Т ()
bool ЛОЖНЫЙ
символ CHAR_MIN
подписанный символ SCHAR_MIN
беззнаковый символ 0
wchar_t WCHAR_MIN
короткая SHRT_MIN
беззнаковый короткий 0
int INT_MIN
беззнаковое целое 0
длинный LONG_MIN
беззнаковый длинный 0
долго долго LLONG_MIN
беззнаковый длинный длинный 0
плавать FLT_MIN
двойной DBL_MIN
длинный двойной LDBL_MIN

Программа 2:

Ниже приведена программа, иллюстрирующая функцию std :: numeric_limits <T> :: min () . Вывод программы зависит от системы.

C ++

// C++ program to illustrate the
// function numeric_limits<T>::min
#include <iostream>
#include <limits>
using namespace std;
// Driver Code
int main()
{
cout << "bool: "
<< numeric_limits< bool >::min()
<< ' ' ;
// numeric_limits<char>:: min()
// returns 127 in ASCII value in
// integer that can be typecast
// to int()
cout << "char: "
<< int (numeric_limits< char >::min())
<< ' ' ;
cout << "unsigned char: "
<< int (numeric_limits<unsigned char >::min())
<< ' ' ;
cout << "short: "
<< numeric_limits< short >::min() << ' ' ;
cout << "int: " << std::numeric_limits< int >::min()
<< ' ' ;
cout << "unsigned int: "
<< numeric_limits<unsigned int >::min()
<< ' ' ;
cout << "long long: "
<< numeric_limits< long long >::min()
<< ' ' ;
cout << "float: "
<< numeric_limits< float >::min()
<< ' ' ;
cout << "double: "
<< numeric_limits< double >::min()
<< ' ' ;
cout << "size_t: "
<< numeric_limits< size_t >::min()
<< ' ' ;
}
Выход:
bool: 0
char: -128
беззнаковый символ: 0
короткий: -32768
инт: -2147483648
беззнаковое целое число: 0
длинный длинный: -9223372036854775808
float: 1.17549e-38
двойной: 2.22507e-308
size_t: 0
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++