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

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


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

Data Type Range Macro for min value Macro for max value
char-128 to +127CHAR_MINCHAR_MAX
signed char-128 to +127SCHAR_MINSCHAR_MAX
unsigned char0 to 255-----UCHAR_MAX
short int-32768 to +32767SHRT_MINSHRT_MAX
unsigned short int0 to 65535-----USHRT_MAX
int-2147483648 to +2147483647INT_MININT_MAX
unsigned int0 to 4294967295-----UINT_MAX
long int-2147483648 to +2147483647LONG_MINLONG_MAX
unsigned long int0 to 4294967295 (32-bit) / 18446744073709551615 (64-bit)-----ULONG_MAX
long long int-9223372036854775808 to +9223372036854775807LLONG_MINLLONG_MAX
unsigned long long int0 to 18446744073709551615-----ULLONG_MAX
float1.17549e-38 to 3.40282e+38FLT_MINFLT_MAX
float (negative)-3.40282e+38 to -1.17549e-38-FLT_MAX-FLT_MIN
double2.22507e-308 to 1.79769e+308DBL_MINDBL_MAX
double (negative)-1.79769e+308 to -2.22507e-308-DBL_MAX-DBL_MIN

নিচে কিছু ডেটা টাইপের রেঞ্জ প্রিন্ট করার একটি সাধারণ প্রোগ্রাম দেওয়া হলো।

উদাহরণ

#include <iostream>
#include <climits> // int, char ম্যাক্রোর জন্য
#include <cfloat>  // float, double ম্যাক্রোর জন্য
using namespace std;

int main() {
    cout << "char Range: (" << CHAR_MIN << ", " << CHAR_MAX << ")\n";
    cout << "signed 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_MAX << ", " << -FLT_MIN << ")\n";
    cout << "double Range: (" << DBL_MIN << ", " << DBL_MAX << ")\n";
    cout << "double (negative) Range: (" << -DBL_MAX << ", " << -DBL_MIN << ")";
    return 0;
}

আউটপুট

char Range: (-128, 127)
signed 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-38, 3.40282e+38)
float (negative) Range: (-3.40282e+38, -1.17549e-38)
double Range: (2.22507e-308, 1.79769e+308)
double (negative) Range: (-1.79769e+308, -2.22507e-308)

  1. C++-এ ডেটা টাইপের রেঞ্জ ক্যালকুলেট করা

  2. C++-এ ভেরিয়েবল, তাদের টাইপ এবং স্কোপ

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

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