본문 바로가기

C++

[C++] 자료형의 크기와 범위 (논리, 자료, 정수)

반응형

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