<climits> (limits.h) в C / C ++
Максимальный и минимальный размер целочисленных значений весьма полезны, или, попросту говоря, пределы любого целочисленного типа играют значительную роль в программировании. Вместо запоминания этих значений можно использовать разные макросы.
<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