본문 바로가기
프로그래밍언어/C언어

자료형이란 무엇인가 - 정수형

by J코딩 2021. 10. 11.
반응형

32비트 운영체제를 기준으로 C언어에서 정수형 char(1바이트), short(2바이트), int (4바이트), long(4바이트) 자료형이 있습니다. 그리고 이들의 차이는 바로 할당되는 메모리 크기였습니다. 메모리 크기는 데이터를 표현할 수 있는 범위와 관련이 됩니다. 다음 표는 정수형 자료형들의 데이터 표현 범위를 정리해 놓은 것입니다.

정수형 메모리 크기 데이터 표현 범위
char 1바이트(8비트) -128 ~ +127
short 2바이트(16비트) -32768 ~ +32767
int 4바이트(32비트) -2147483648 ~ +2147483647
long 4바이트(32비트) -2147483648 ~ +2147483647

먼저 앞의 표를 통해 최소값(MIN)과 최대값(MAX)을 보는 방법을 알아봅시다. 정수형 데이터의 표현 범위는 0을 기준으로 음수 ~ 양수의 범위를 가지고 있습니다. 따라서 최소값(MIN)은 음수, 최대값(MAX)는 양수가 됩니다. 여기까지 이해가 되었다면 궁금증이 생길 수 있습니다. 데이터의 표현 범위는 어떻게 산출되었을까? 아래는 데이터의 표현 범위를 구하는 공식입니다.

n에 정수형의 비트 수를 대입하여 계산하면 데이터의 표현 범위가 앞의 표처럼 얻어집니다.

  • char 형 : -28-1 ~ 28-1-1 → -27 ~ -27-1 → -128 ~ +127
  • short 형 : -216-1 ~ 216-1-1 → -215 ~ -215-1 → -32768 ~ +32767
  • int 형 : -232-1 ~ 232-1-1 → -231 ~ -231-1 → -2147483648 ~ +2147483647
  • long 형 : -232-1 ~ 232-1-1 → -231 ~ -231-1 → -2147483648 ~ +2147483647
반응형

댓글