দেওয়া টাস্ক হল বিভিন্ন ডাটা টাইপের মেমরি রেঞ্জ খুঁজে বের করা, যে কোন ডাটা টাইপ মানকে সর্বনিম্ন মান থেকে সর্বোচ্চ মান পর্যন্ত সংরক্ষণ করতে পারে। ডেটা টাইপের মেমরি রেঞ্জ রয়েছে যেখান থেকে ডেটার মান সংরক্ষণ করা যায়। মানের বৃহৎ পরিসর মনে রাখা কঠিন তাই C++-এ এই সংখ্যাগুলিকে প্রতিনিধিত্ব করার জন্য ম্যাক্রো রয়েছে, ম্যাক্রো থেকে এই বড় সংখ্যাগুলি সম্পূর্ণ সংখ্যার পরিসর টাইপ না করে সরাসরি ভেরিয়েবলে বরাদ্দ করা যেতে পারে।
উদাহরণ
'char'(স্বাক্ষরিত) হল ক্যারেক্টার ডাটা টাইপ এবং এর রেঞ্জ রয়েছে -128 থেকে +128 এবং ন্যূনতম মানের জন্য ম্যাক্রো, চার ডেটা টাইপের রেঞ্জের মান খুঁজে বের করার জন্য ম্যাক্রো হল CHAR_MIN এবং CHAR_MAX৷
একইভাবে আমরা এই MIN এবং MAX ম্যাক্রোগুলির দ্বারা যেকোন ডেটা প্রকারের পরিসর খুঁজে পেতে পারি যেমন 'int'-এর জন্য আমরা INT_MIN এবং INT_MAX ব্যবহার করতে পারি৷
চরের পরিসীমা
128 থেকে +128
int এর পরিসীমা
-2147483648 থেকে +2147483648
উদাহরণ
ডেটা প্রকারের ম্যাক্রো প্রদর্শনের জন্য C++ কোড
#include<iostream.h> #include<float.h> #include<limits.h> Using namespace std; int main( ) { cout<< " Range of Char :” << CHAR_MIN<< " to ”<<CHAR_MAX; cout<< " Range of int :” <<INT_MIN<< " to " <<INT_MAX; cout<< " Range of float :” <<FLT_MIN<< " to " <<FLT_MAX; cout<< " Range of double :” <<DBL_MIN<< " to " <<DBL_MAX; cout<< " Range of short char :” <<SCHAR_MIN<< " to " <<SCHAR_MAX; cout<< " Range of Unsigned Char :” << 0 << " to " <<UCHAR_MAX; cout<< " Range of long int :” <<LONG_MIN<< " to " <<LONG_MAX; cout<< " Range of Unsigned int :” << 0 << " to " <<UINT_MAX; cout<< " Range of short int :” <<SHRT_MIN<< " to " <<SHRT_MAX; cout<< " Range of float Negative :” <<-FLT_MIN<< " to " <<-FLT_MAX; cout<< " Range of double negative:” <<-DBL_MIN<< " to " <<-DBL_MAX; Return 0; }
আউটপুট
যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট −
উৎপন্ন করবেRange of char: -128 to 127 Range of int: -2147483648 to 2147483648 Range of float: 1.17549e-38 to 3.40282e+38 Range of double: 2.22507e-308 to 1.79769e+308 Range of Short char: -128 to 127 Range of Unsigned Char: 0 to 255 Range of long int: -922337203685477580 to 922337203685477580 Range of Unsigned int: 0 to 42944967295 Range of Short int: -32768 to 32767 Range of float negative: -1.17549e-38 to -3.40282e+38 Range of double negative: 2.22507e-308 to 1.79769e+308