프로그래밍에 대한 고찰 및 생각

[c언어 기초] - 자료형 본문

언어/C언어

[c언어 기초] - 자료형

Source 2020. 3. 3. 13:39

상수 변수

초깃값을 변경할 수 없는 변수를 상수 변수라고 한다.(줄여서 상수)

 

const int MAX_SIZE = 10;

 

와 같이 사용한다.

 

 


자료형

정수

  • char - 1byte
  • short - 2byte
  • int - 4byte
  • long 4byte

실수

  • float - 4byte
  • double - 8byte

int 의 범위가 약 21억~21억 인이유

int 의 크기는 4byte로 32bit 이다.

 

한 비트당 1 또는 0의 상태를 가지므로 총 2^32(4294967296) 가지의 숫자를 표현할수 있는데 맨 앞자리 비트는 부호를 의미하기 때문에 양수 음수 각각 2^31인 2147483648까지 표현이 가능한데 실제 표현 가능 범위는

-2147483648 ~ 2147483647 이다.

 

마지막 1의자리수가 다른 이유는 2147483648가지 표현중에 0을 양수로 포함하기 때문에 양수쪽에서 숫자하나가 빠진것이다.

 

따라서 다음과 같이 unsigned로 선언하게 되면 부호를 결정하는 비트까지 포함해서 수를 저장하기 때문에 음수범위가 사라진

 

0 ~ 4294967295 까지 표현이 가능하다.

unsigned int n = 4294967295;

 


long long

int의 최대 범위가 약-21억 ~ 21억이고 unsigned int를 사용한다고 해도 최대 약42억이다. 그렇다면 그보다 큰수는 어떻게 저장할수있을까.

 

long long 이라는 자료형은 8byte로 총 64bit를 할당할수 있다.

 

따라서 -9223372036854775808 ~ 9223372036854775807 까지 표현이 가능하다.

(약 -922경~922경)

 

unsigned long long 도 마찬가지로

 

0 ~ 18446744073709551615 까지 표현이 가능하다.

(약 1844경)

'언어 > C언어' 카테고리의 다른 글

[C언어] 비트연산  (0) 2020.02.29