Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 데이터 유형 범위 및 해당 매크로

<시간/>

어떤 경우에는 다른 문제에서 특정 데이터 유형의 최소값 또는 최대값을 사용해야 합니다. 그 가치를 기억하는 것은 매우 어렵습니다. 이러한 이유로 C++에는 일부 데이터 유형의 최소 및 최대 범위를 나타내는 데 사용되는 일부 매크로가 있습니다. 그들 중 일부는 서명되지 않았기 때문에 매크로가 없으므로 최소값은 0이 됩니다.

데이터 유형 범위 최소값에 대한 매크로 최대값에 대한 매크로
문자 -128 ~ +127 CHAR_MIN CHAR_MAX
짧은 문자 -128 ~ +127 SCHAR_MIN SCHAR_MAX
부호 없는 문자 0 ~ 255 ----- UCHAR_MAX
짧은 정수 -32768 ~ +32767 SHRT_MIN SHRT_MAX
부호 없는 짧은 정수 0 ~ 65535 ----- USHRT_MAX
int -2147483648에서 +2147483647 INT_MIN INT_MAX
부호 없는 정수 0 ~ 4294967295 ----- INT_MAX
긴 정수 -2147483648에서 +2147483647 LONG_MIN LONG_MAX
부호 없는 long int 0~18446744073709551615 ----- ULONG_MAX
long long int -9223372036854775808 ~ +9223372036854775807 LLONG_MIN LLONG_MAX
unsigned long long int 0~18446744073709551615 ----- ULLONG_MAX
플로트 1.17549e-38 ~ 3.40282e+38 FLT_MIN FLT_MAX
float(음수) -1.17549e-38 ~-3.40282e+38 -FLT_MIN -FLT_MAX
더블 2.22507e-308 to1.79769e+308 DBL_MIN DBL_MAX
이중(음수) -2.22507e-308 ~-1.79769e+308 -DBL_MIN -DBL_MAX

C++의 일부 데이터 유형 범위를 인쇄하는 간단한 프로그램을 볼 수 있습니다.

예시

#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 << ")";
}

출력

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)