কম্পিউটার টিউটোরিয়াল

C++-এ ডেটা টাইপের রেঞ্জ এবং তাদের ম্যাক্রোস

প্রদত্ত কাজ হলো বিভিন্ন ডেটা টাইপের মেমরি রেঞ্জ বের করা, অর্থাৎ একটি ডেটা টাইপ কতটুকু মান সংরক্ষণ করতে পারে ন্যূনতম মান থেকে সর্বোচ্চ মান পর্যন্ত। ডেটা টাইপের একটি মেমরি রেঞ্জ থাকে যেখানে ডেটার মান সংরক্ষণ করা যায়। বড় রেঞ্জের মান মনে রাখা কঠিন তাই C++-এ এজন্য ম্যাক্রোস রয়েছে, যেগুলো থেকে এই বড় সংখ্যাগুলো সরাসরি ভেরিয়েবলে অ্যাসাইন করা যায় পুরো নাম্বার রেঞ্জ টাইপ না করেই।

উদাহরণ

'char' (সাইনড) হলো ক্যারেক্টার ডেটা টাইপ এবং এর রেঞ্জ -১২৮ থেকে +১২৮ এবং char ডেটা টাইপের রেঞ্জ মান বের করার জন্য ন্যূনতম মানের ম্যাক্রো হলো CHAR_MIN এবং সর্বোচ্চ মানের ম্যাক্রো হলো CHAR_MAX।

এভাবেই আমরা MIN এবং MAX ম্যাক্রোস ব্যবহার করে যেকোনো ডেটা টাইপের রেঞ্জ বের করতে পারি, যেমন 'int'-এর জন্য আমরা INT_MIN এবং INT_MAX ব্যবহার করতে পারি।

char-এর রেঞ্জ

-128 থেকে +127

int-এর রেঞ্জ

-2147483648 থেকে +2147483647

উদাহরণ

ডেটা টাইপের ম্যাক্রোস প্রদর্শন করার C++ কোড

#include <iostream>
#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 2147483647
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: -9223372036854775808 to 9223372036854775807
Range of Unsigned int: 0 to 4294967295
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
  1. C++-এ ফ্লিপ-ফ্লপের প্রকার ও রূপান্তর

  2. C++-এ ভেরিয়েবল এবং ভেরিয়েবলের টাইপগুলো কী?

  3. C++-এ signed এবং unsigned কিওয়ার্ড

  4. C++ এবং C#-এ Foreach লুপ