본문 바로가기
[R&D] 프로그래밍/C, C++

[C/C++] 자료형 크기 및 범위 정리

by Geuni 2022. 7. 13. 22:59
728x90
반응형

자료형의 크기

 C언어에서 자료형(data type)의 크기를 파악하는 것은 중요합니다. 우리가 프로그래밍을 할 때 사용하는 변수가 메모리에 어느 정도 공간을 차지하는지 포인터로 접근할 때 어떤 단위로 움직이는지 알고 사용해야 프로그램이 오작동하는 문제를 줄일 수 있습니다.

가령 char를 사용하면서 255가 넘는 범위의 값을 넣는다거나, unsigned 변수인데 음수를 입력해 전혀 다른 수로 연산이 되는 등의 문제가 발생할 수 있기 때문입니다.

 

<32bit 시스템 기준 자료형 크기 및 범위>

종류 자료형 크기 (byte) 범위
논리형 bool 1 true (~0), false (0)
문자 (signed) char 1 -128 ~ 127
unsigned char 1 0 ~ 255
정수 (signed) short 2 -32,768 ~ 32767
(signed) int 4 -2,147,483,648 ~ 2,147,483,647
(signed) long 4 -2,147,483,648 ~ 2,147,483,647
(signed) long long 8 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
unsigned short 2 0 ~ 65,535
unsigned int 4 0 ~ 4,294,967,295
unsigned long 4 0 ~ 4,294,967,295
unsigned long long 8 0 ~ 18,446,744,073,709,551,615
실수 float 4 1.175494e-38 ~ 3.402823e+38 (유효자릿수 7)
double 8 2.225074e-308 ~ 1.797693e+308 (유효자릿수 16)
long double 8 2.225074e-308 ~ 1.797693e+308 (유효자릿수 16)

 

참고) 시스템 별 long의 크기

  • [Window / 32bit] : 4 byte
  • [Window / 64bit] : 4 byte
  • [Linux / 32bit] : 4 byte
  • [Linux / 64bit] : 8 byte
728x90
반응형

댓글