반응형
64bit 환경에서 데이터 자료형의 크기와 범위이다.
자료형 | 크기 | 범위 | |
논리형 | bool | 1 byte (8 bit) | 0 ~ 1 |
void | void | - | - |
null pointer |
decltype (nullptr) | - | - |
문자형 | (signed) char | 1 byte (8 bit) | -128 ~ 127 |
unsigned char | 1 byte (8 bit) | 0 ~ 255 | |
정수형 | (signed) short (int) | 2 byte (16 bit) | -32,768 ~ 32,767 |
unsigned short (int) | 2 byte (16 bit) | 0 ~ 65,535 | |
(signed) int | 4 byte (32 bit) | -2,147,483,648 ~ 2,147,483,647 | |
unsigned int | 4 byte (32 bit) | 0 ~ 4,294,967,295 | |
(signed) long (int) | 8 byte (64 bit) | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
unsigned long (int) | 8 byte (64 bit) | 0 ~ 18,446,744,073,709,551,615 | |
(signed) long long (int) | 8 byte (64 bit) | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
unsigned long long (int) | 8 byte (64 bit) | 0 ~ 18,446,744,073,709,551,615 | |
실수형 | float | 4byte (32bit) | ±3.4×10^(-37) ~ ±3.4×10^(38) |
double | 8byte (64bit) | ±1.7×10^(-307) ~ ±1.7×10^(308) | |
long double | 8byte (64bit) | ±1.7×10^(-307) ~ ±1.7×10^(308) 이상 |
표현 범위는 크기와 관련이 있다.
예로, 1byte(8bit) 크기의 'char'형 타입은 아래와 같은 표현 범위를 가지게 된다.
char형의 최상위 비트와 unsigned char형의 최상위 비트의 부호가 다름에 유의하여야 한다.
메모리 크기는 운영체제에 따라 다르다.
참고로 'long'의 경우, 32bit와 64bit 환경에서 크기가 다르다.
32bit | 4 byte (32 bit) | -2,147,483,648 ~ 2,147,483,647 |
64bit | 8 byte (64 bit) | -09,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
반응형
'C++' 카테고리의 다른 글
[C++] 자릿수 출력: std::setprecision() (0) | 2021.10.06 |
---|---|
[C++] 변수 타입의 최대·최솟값: std::numeric_limits<> (0) | 2021.10.05 |
[C++] 변수 초기화 (0) | 2021.09.22 |
[C++] 기본 자료형 (0) | 2021.09.22 |
[C++] 헤더 가드란? (0) | 2021.09.10 |