<climits> (limits.h) в C / C ++

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

Максимальный и минимальный размер целочисленных значений весьма полезны, или, попросту говоря, пределы любого целочисленного типа играют значительную роль в программировании. Вместо запоминания этих значений можно использовать разные макросы.

<climits> (limits.h) определяет размеры целых типов.
Этот заголовок определяет константы с ограничениями фундаментальных интегральных типов для конкретной используемой системы и реализации компилятора.

Пределы для основных типов с плавающей запятой определены в <cfloat> (<float.h>).
Пределы для целочисленных типов, зависящих от ширины, и других типов typedef определены в <cstdint> (<stdint.h>).

Различные макроконстанты:

1. CHAR_MIN:

Minimum value for an object of type char
Value of CHAR_MIN is either -127 (-27+1) or less* or 0

2. CHAR_MAX:

Максимальное значение для объекта типа char
Значение CHAR_MAX равно 127 (2 7 -1) или 255 (2 8 -1) или больше *    

3. SHRT_MIN:

Минимальное значение для объекта типа short int
Значение SHRT_MIN составляет -32767 (-2 15 +1) или меньше *

4. SHRT_MAX:

    
Максимальное значение для объекта типа short int
Значение SHRT_MAX составляет 32767 (2 15 -1) или больше *

5. USHRT_MAX:

    
Максимальное значение для объекта типа unsigned short int    
Значение USHRT_MAX составляет 65535 (2 16 -1) или больше *

6. INT_MIN:

Минимальное значение для объекта типа int    
Значение INT_MIN составляет -32767 (-2 15 +1) или меньше *

7. INT_MAX:

Максимальное значение для объекта типа int    
Значение INT_MAX составляет 32767 (2 15 -1) или больше *

8. UINT_MAX:

Максимальное значение для объекта типа unsigned int    
Значение UINT_MAX составляет 65535 (2 16 -1) или больше *

9. LONG_MIN:



Минимальное значение для объекта типа long int    
Значение LONG_MIN составляет -2147483647 (-2 31 +1) или меньше *

10. LONG_MAX:

Максимальное значение для объекта типа long int    
Значение LONG_MAX является 2147483647 (2 31 -1) или выше *

11. ULONG_MAX:

Максимальное значение для объекта типа unsigned long int    
Значение ULONG_MAX составляет 4294967295 (2 32 -1) или больше *

12. LLONG_MIN:

Минимальное значение для объекта типа long long int    
Значение LLONG_MIN составляет -9223372036854775807 (-2 63 +1) или меньше *

13. LLONG_MAX:

Максимальное значение для объекта типа long long int    
Значение LLONG_MAX составляет 9223372036854775807 (2 63 -1) или больше *

14. ULLONG_MAX:

Максимальное значение для объекта типа unsigned long long int    
Значение ULLONG_MAX составляет 18446744073709551615 (2 64 -1) или больше *

ПРИМЕЧАНИЕ ** фактическое значение зависит от конкретной системы и реализации библиотеки, но должно отражать ограничения этих типов в целевой платформе.

Значения вашей машины могут зависеть от того, 32-битная она или 64-битная.

Совместимость:
LLONG_MIN, LLONG_MAX и ULLONG_MAX определены для библиотек, соответствующих стандарту C от 1999 г. или новее (который включает только стандарт C ++ с 2011 г .: C ++ 11).

Два применения этих МАКРОСОВ - это проверка целочисленного переполнения и вычисление минимума или максимума в массиве очень больших или очень маленьких элементов.

Ниже Программа отобразит соответствующие значения для вашей машины:

// C++ program to demonstrate working of
// constants in climits.
#include <climits>
#include <iostream>
using namespace std;
int main()
{
cout << "CHAR_MIN : " << CHAR_MIN << endl;
cout << "CHAR_MAX : " << CHAR_MAX << endl;
cout << "SHRT_MIN : " << SHRT_MIN << endl;
cout << "SHRT_MAX : " << SHRT_MAX << endl;
cout << "USHRT_MAX : " << USHRT_MAX << endl;
cout << "INT_MIN : " << INT_MIN << endl;
cout << "INT_MAX : " << INT_MAX << endl;
cout << "UINT_MAX : " << UINT_MAX << endl;
cout << "LONG_MIN : " << LONG_MIN << endl;
cout << "LONG_MAX : " << LONG_MAX << endl;
cout << "ULONG_MAX : " << ULONG_MAX << endl;
cout << "LLONG_MIN : " << LLONG_MIN << endl;
cout << "LLONG_MAX : " << LLONG_MAX << endl;
cout << "ULLONG_MAX : " << ULLONG_MAX << endl;
return 0;
}

Выход (зависит от станка):

CHAR_MIN: -128
CHAR_MAX: 127
SHRT_MIN: -32768
SHRT_MAX: 32767
USHRT_MAX: 65535
INT_MIN: -2147483648
INT_MAX: 2147483647
UINT_MAX: 4294967295
LONG_MIN: -9223372036854775808
LONG_MAX: 9223372036854775807
ULONG_MAX: 18446744073709551615
LLONG_MIN: -9223372036854775808
LLONG_MAX: 9223372036854775807
ULLONG_MAX: 18446744073709551615
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++ C