<climits> library in C++
Get FREE domain for 1st year and build your brand new site
In this article, we will learn about climits library in C++. This library is used for managing and evaluating maximum and minimum values of several integer data-types.
- The climits is also known as limits.h library in C++.
- Sometimes it is very difficult for us to remember every limiting value of every type of data-type in C++. Hence we require a library which automatically tells us the limiting values of the datatypes.
- So instead of remembering all such values we can directly use such macros which makes the programming far easier.
- climits or limits.h defines sizes of integral types.
- NOTE: The actual value is system and library dependent, but the results gets reflected in the target system.
- Your Machine’s values depends upon whether it is 32 bit machine or 64 bit machine.
Macro Constants
Implementation
Applications
Macro Constants
The complete list of macro constants are:
- 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
1. CHAR_MIN :
CHAR_MIN: Minimum value for an object of type char (-127 or 0)
Minimum value for an object of type char
Value of CHAR_MIN is either -127 or less* or 0
2. CHAR_MAX :
CHAR_MAX: Maximum value for an object of type char (127 or 255)
Maximum value for an object of type char
Value of CHAR_MAX is either 127 or 255 or greater*
3. SHRT_MAX :
SHRT_MAX: Maximum value for an object of type short int (32767)
Maximum value for an object of type short int
Value of SHRT_MAX is 32767 or greater*
4. SHRT_MIN :
SHRT_MIN: Minimum value for an object of type short int (-32767)
Minimum value for an object of type short int
Value of SHRT_MIN is -32767 or less*
5. USHRT_MAX :
Maximum value for an object of type unsigned short int
Value of USHRT_MAX is 65535 or greater*
6. INT_MIN :
Minimum value for an object of type int
Value of INT_MIN is -32767 or less*
7. INT_MAX :
Maximum value for an object of type int
Value of INT_MAX is 32767 or greater*
8. UINT_MAX :
Maximum value for an object of type unsigned int
Value of UINT_MAX is 65535 or greater*
9. LONG_MIN :
Minimum value for an object of type long int
Value of LONG_MIN is -2147483647 or less*
10. LONG_MAX :
Maximum value for an object of type long int
Value of LONG_MAX is 2147483647 or greater*
11. ULONG_MAX :
Maximum value for an object of type unsigned long int
Value of ULONG_MAX is 4294967295 or greater*
12. LLONG_MIN :
Minimum value for an object of type long long int
Value of LLONG_MIN is -9223372036854775807 or less*
13. LLONG_MAX :
Maximum value for an object of type long long int
Value of LLONG_MAX is 9223372036854775807 or greater*
14. ULLONG_MAX :
Maximum value for an object of type unsigned long long int
Value of ULLONG_MAX is 18446744073709551615 or greater*
Implementation
- This program displays the respective values of macros on your machine :
#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;
}
OUTPUT :
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
Applications
- These macros are used to check integer overflow
- They help a lot in computing minimum or maximum for an array by acting as a reference to check.
With this article at OpenGenus IQ, you must have got a complete idea of climits library in C++. Enjoy.