728x90
C++의 데이터 타입은 크게 아래와 같이 구분짓고 있다.
- bool형
- 문자형
- 정수형
- 부동소수(실수)형
다음은 C++ 32비트 및 64비트를 기준으로 한 자료형의 크기 및 범위다.
구분 | 데이터 타입 | 크기 (byte) | 범위 |
bool형 | bool | 1 | true or false |
문자형 | (signed) char | 1 | -128 ~ 127 |
unsigned char | 1 | 0 ~ 255 | |
wchar_t | 2 | 0 ~ 65,535 | |
정수형 | (signed) short (int) | 2 | -32,768 ~ 32,767 |
unsigned short (int) | 2 | 0 ~ 65,535 | |
(signed) int | 4 | –2,147,483,648 ~ 2,147,483,647 | |
unsigned int | 4 | 0 ~ 4,294,967,295 | |
(signed) long (int) | 4 | –2,147,483,648 ~ 2,147,483,647 | |
unsigned long (int) | 4 | 0 ~ 4,294,967,295 | |
__int8 | 1 | -128 ~ 127 | |
__int16 | 2 | –32,768 ~ 32,767 | |
__int32 | 4 | –2,147,483,648 ~ 2,147,483,647 | |
__int64 | 8 | –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
부동소수(실수)형 | float | 4 | 3.4E+/-38(7개의 자릿수) |
(long) double | 8 | 1.7E+/-308(15개의 자릿수) |
※ 다른 OS나 컴파일러에서는 자료형의 크기가 조금씩 다를 수 있다.
=> int는 시스템의 기본연산 단위를 사용한다. (16bit : 2byte, 32 : 4byte, 64 : 4byte)
=> 64bit에서 long형을 8byte로 확장하였다. (16bit : 4byte, 32 : 4byte, 64 : 8byte)
참고 : Microsoft 공식문서(2019 기준)
https://docs.microsoft.com/ko-kr/cpp/cpp/data-type-ranges?view=msvc-160
'[C_C++]이론 공부 > 이론+STL' 카테고리의 다른 글
[C++ STL] set 사용법 위주 공부 (0) | 2021.06.29 |
---|---|
[C++ STL] vector(벡터) 공부 (0) | 2021.06.14 |
[C++] 클래스(class) 기본 (0) | 2021.06.01 |
OOP(객체지향 프로그래밍)의 주요특징 (0) | 2021.05.21 |
[C++] 메모리 영역 (메모리 구조), 정적할당과 동적할당 (0) | 2021.05.20 |