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)