데이터 타입이란 데이터가 메모리에 어떻게 저장되고, 프로그램에 어떻게 처리되어야 하는지 명시적으로 알려주는 역할을 함.
C++에서는 여러 형태의 타입을 제공하고 있음, 이것을 기본 타입이라고 함.
정수형 타입 | 할당되는 메모리의 크기 | 데이터의 표현 범위 |
---|---|---|
(signed) short | 2 바이트 | -215 ~ (215 - 1) |
unsigned short | 2 바이트 | 0 ~ (216 - 1) |
(signed) int | 4 바이트 | -231 ~ (231 - 1) |
unsigned int | 4 바이트 | 0 ~ (232 - 1) |
(signed) long | 4 바이트 | -231 ~ (231 - 1) |
unsigned long | 4 바이트 | 0 ~ (232 - 1) |
unsigned long long | 8 바이트 | 0 ~ (264 - 1) |
정수형 데이터의 타입을 결정할 떄에는 반드시 자신이 사용하고자 하는 데이터의 최대 크기를 고려해야함
타입이 표현할 수 있는 범위를 벗어난 데이터를 저장하면 오버플로우(overflow)가 발생해 전혀 다른 값이 저장됨
int num = 2147483647;
cout << "변수 num에 저장된 값은 " << num << "입니다." << endl;
num = 2147483648;
cout << "변수 num에 저장된 값은 " << num << "입니다." << endl;
// 결과
변수 num에 저장된 값은 2147483647입니다.
변수 num에 저장된 값은 -2147483648입니다.
실수형 타입 | 할당되는 메모리의 크기 | 데이터의 표현 범위 |
---|---|---|
float | 4 바이트 | (3.4 X 10-38) ~ (3.4 X 1038) |
double | 8 바이트 | (1.7 X 10-308) ~ (1.7 X 10308) |
long double | double형과 동일함. | double형과 동일함. |