본문 바로가기
Theory/C&C++

[C/C++]자료형 종류와 크기, 표현 범위

by wintercamo3482 2024. 11. 10.

1. 정수형 (Integer Types)

자료형 크기
(Byte)
범위(부호 있는 경우) 범위(부호 없는 경우)
char 1 -128 ~ 127 0 ~ 255
signed char 1 -128 ~ 127 0 ~ 255
unsigned char 1 부호 없음 0 ~ 255
short 2 -32,768 ~ 32,767 0 ~ 65,535
unsigned short 2 부호 없음 0 ~ 65,535
int 4 -2,147,483,648 ~ 2,147,483,647 0 ~ 4,294,967,295
unsigned int 4 부호 없음 0 ~ 4,294,967,295
(32비트 플랫폼의) long 4 -2,147,483,648 ~ 2,147,483,647 0 ~ 2,147,483,647
(32비트 플랫폼의) unsigned long 4 부호 없음 0 ~ 2,147,483,647
(64비트 플랫폼의) long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 0 ~ 18,446,744,073,709,551,615
(64비트 플랫폼의) unsigned long 8 부호 없음 0 ~ 18,446,744,073,709,551,615

 

long 같은 경우엔 플랫폼에 따라서 크기와 표현 범위가 달라진다.

 

만약 32비트에서 8바이트의 long을 사용하고 싶다면 long long을 사용하면 된다.

2. 실수형 (Floating Point Types)

자료형 크기
(Byte)
범위 정밀도
float 4 ±(1.17549 × 10³⁸) ~ ±(3.40282 × 10³⁸) 소수점 이하 약 7자리
double 8 ±(2.22507 × 10³⁰⁸) ~ ±(1.79769 × 10³⁰⁸) 소수점 이하 약 15자리
long double 8, 12, 16 ±(2.22507 × 10³⁸) ~ ±(1.79769 × 10³⁰⁸) 소수점 이하 약 18 ~ 21자리

 

long double은 플랫폼에 따라 크기, 범위, 정밀도가 다르다.

3. 문자형 (Character Types)

자료형 크기
(Byte)
범위(부호 있는 경우) 범위(부호 없는 경우)
char 1 -128 ~ 127 0 ~ 255
signed char 1 -128 ~ 127 0 ~ 255
unsigned char 1 부호 없음 0 ~ 255

4. 불리언형 (Boolean Types)

자료형 크기
(Byte)
범위(부호 있는 경우)
bool 1 true 혹은 false

 

false는 0.

true는 0이 아닌 수인데 보통은 1을 리턴한다.