कुछ मामलों में, हमें विभिन्न समस्याओं में किसी विशिष्ट डेटा टाइप के न्यूनतम या अधिकतम मान का उपयोग करने की आवश्यकता होती है। उस मान को याद रखना बहुत मुश्किल है। उस कारण से, C++ में कुछ मैक्रोज़ हैं, जिनका उपयोग कुछ डेटा टाइप की न्यूनतम और अधिकतम रेंज को दर्शाने के लिए किया जाता है। उनमें से कुछ के मैक्रोज़ नहीं हैं, क्योंकि वे अनसाइन्ड हैं, इसलिए न्यूनतम 0 होगा।
| डेटा टाइप | रेंज | न्यूनतम मान के लिए मैक्रो | अधिकतम मान के लिए मैक्रो |
|---|---|---|---|
| char | -128 से +127 | CHAR_MIN | CHAR_MAX |
| short char | -128 से +127 | SCHAR_MIN | SCHAR_MAX |
| unsigned char | 0 से 255 | ----- | UCHAR_MAX |
| short int | -32768 से +32767 | SHRT_MIN | SHRT_MAX |
| unsigned short int | 0 से 65535 | ----- | USHRT_MAX |
| int | -2147483648 से +2147483647 | INT_MIN | INT_MAX |
| unsigned int | 0 से 4294967295 | ----- | INT_MAX |
| long int | -2147483648 से +2147483647 | LONG_MIN | LONG_MAX |
| unsigned long int | 0 से 18446744073709551615 | ----- | ULONG_MAX |
| long long int | -9223372036854775808 से +9223372036854775807 | LLONG_MIN | LLONG_MAX |
| unsigned long long int | 0 से 18446744073709551615 | ----- | ULLONG_MAX |
| float | 1.17549e-38 से 3.40282e+38 | FLT_MIN | FLT_MAX |
| float(negative) | -1.17549e-38 से -3.40282e+38 | -FLT_MIN | -FLT_MAX |
| double | 2.22507e-308 से 1.79769e+308 | DBL_MIN | DBL_MAX |
| double(negative) | -2.22507e-308 से -1.79769e+308 | -DBL_MIN | -DBL_MAX |
हम C++ के कुछ डेटा टाइप की रेंज प्रिंट करने के लिए एक सरल प्रोग्राम देख सकते हैं।
उदाहरण
#include<iostream> #include<limits.h> // int,char मैक्रोज़ के लिए #include<float.h> // float,double मैक्रोज़ के लिए using namespace std; int main() { cout << "char Range: (" << CHAR_MIN <<", " <<CHAR_MAX << ")\n"; cout << "short char Range: (" << SCHAR_MIN <<", " <<SCHAR_MAX << ")\n"; cout << "unsigned char Range: (" << 0 <<", " <<UCHAR_MAX << ")\n"; cout << "short int Range: (" << SHRT_MIN <<", " <<SHRT_MAX << ")\n"; cout << "unsigned short int Range: (" << 0 <<", " <<USHRT_MAX << ")\n"; cout << "int Range: (" << INT_MIN <<", " <<INT_MAX << ")\n"; cout << "unsigned int Range: (" << 0 <<", " <<UINT_MAX << ")\n"; cout << "long int Range: (" << LONG_MIN <<", " <<LONG_MAX << ")\n"; cout << "unsigned long int Range: (" << 0 <<", " <<ULONG_MAX << ")\n"; cout << "long long int Range: (" << LLONG_MIN <<", " <<LLONG_MAX << ")\n"; cout << "unsigned long long int Range: (" << 0 <<", " <<ULLONG_MAX << ")\n"; cout << "float Range: (" << FLT_MIN <<", " <<FLT_MAX << ")\n"; cout << "float(negative) Range: (" << -FLT_MIN <<", " <<-FLT_MAX << ")\n"; cout << "double Range: (" << DBL_MIN <<", " <<DBL_MAX << ")\n"; cout << "double(negative) Range: (" << -DBL_MIN <<", " <<-DBL_MAX << ")"; }
आउटपुट
char Range: (-128, 127) short char Range: (-128, 127) unsigned char Range: (0, 255) short int Range: (-32768, 32767) unsigned short int Range: (0, 65535) int Range: (-2147483648, 2147483647) unsigned int Range: (0, 4294967295) long int Range: (-2147483648, 2147483647) unsigned long int Range: (0, 4294967295) long long int Range: (-9223372036854775808, 9223372036854775807) unsigned long long int Range: (0, 18446744073709551615) float Range: (1.17549e-038, 3.40282e+038) float(negative) Range: (-1.17549e-038, -3.40282e+038) double Range: (2.22507e-308, 1.79769e+308) double(negative) Range: (-2.22507e-308, -1.79769e+308)