Computer >> Máy Tính >  >> Lập trình >> C ++

Dải loại dữ liệu và macro của chúng trong C ++

Trong một số trường hợp, chúng tôi cần sử dụng giá trị tối thiểu hoặc tối đa của một kiểu dữ liệu cụ thể trong các vấn đề khác nhau. Rất khó nhớ giá trị đó. Vì lý do đó, C ++ có một số macro, được sử dụng để biểu thị phạm vi tối thiểu và tối đa của một số kiểu dữ liệu. Một số trong số chúng không có macro, vì chúng không có dấu, vì vậy mức tối thiểu sẽ là 0.

Loại dữ liệu Phạm vi Macro cho giá trị tối thiểu Macro cho giá trị tối đa
char - 128 đến +127 CHAR_MIN CHAR_MAX
ký tự ngắn - 128 đến +127 SCHAR_MIN SCHAR_MAX
ký tự không dấu 0 đến 255 ----- UCHAR_MAX
short int - 32768 đến +32767 SHRT_MIN SHRT_MAX
unsigned short int 0 đến 65535 ----- USHRT_MAX
int - 2147483648 đến + 2147483647 INT_MIN INT_MAX
int không dấu 0 đến 4294967295 ----- INT_MAX
long int - 2147483648 đến + 2147483647 LONG_MIN LONG_MAX
unsigned long int 0 đến18446744073709551615 ----- ULONG_MAX
long long int - 9223372036854775808 tới + 9223372036854775807 LLONG_MIN LLONG_MAX
unsigned long int 0 đến18446744073709551615 ----- ULLONG_MAX
float 1,17549e-38 đến 3,40282e + 38 FLT_MIN FLT_MAX
float (âm) - 1,17549e-38 đến 3,40282e + 38 - FLT_MIN - FLT_MAX
gấp đôi 2,22507e-308 đến1,79769e + 308 DBL_MIN DBL_MAX
kép (phủ định) - 2,22507e-308 đến-1,79769e + 308 - DBL_MIN - DBL_MAX

Chúng ta có thể thấy một chương trình đơn giản để in phạm vi của một số kiểu dữ liệu của C ++.

Ví dụ

#include<iostream>
#include<limits.h> // for int,char macros
#include<float.h> // for float,double macros
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 << ")";
}

Đầu ra

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)