SW정글 TIL

TIL : 230330(THU), C의 기본 자료형 / int · long 자료형 비교

머기조 2023. 3. 30. 22:29

◎ C의 기본 자료형

  ● C에서의 두 가지 서로 다른 숫자형 : 정수형 & 소수형(유한소수)

 

  ● 정수형 : 유부호(signed)와 무부호(unsigned)의 두 가지

  • 유부호(signed) 정수의 값이 0 혹은 양수라면 해당 정수의 맨 좌측 비트(부호 비트 sign bit)는 0, 정수의 값이 음수라면 맨 좌측 비트가 1
  • 16비트 정수의 최대값 = 0111111111111111 -> 10진수 환산 시, '32,767' (= 2^15 - 1)
  • 32비트 정수의 최대값 = 01111111111111111111111111111111 -> 10진수 환산 시, '2,147,483,647' (= 2^31 - 1)
  • 무부호(unsigned) 정수 : 부호 비트가 없는 정수
  • 16비트 무부호 정수의 최대값 = 65,535 (= 2^16 - 1)
  • 32비트 무부호 정수의 최대값 = 4,294,967,295 (2^32 - 1)

C에서 정수형 변수는 기본적으로 유부호(signed)

  • 정수형이 부호 비트가 있는 무부호 정수형이라고 지시하고자 하면, unsigned로 선언하면 됨

표 7.1, 7.2, 7.3에 명시된 범위는 모든 컴파일러나 컴퓨터에서 반드시 적용되는 범위가 아님

  • 표준 라이브러리 중 하나인 <limits.h> 헤더 파일을 이용하면 해당 환경에서의 최대값과 최소값을 확인할 수 있음

◎ 'int' 자료형과 'long' 자료형의 차이에 대해서

학부 때에도, 최근 두려워지고 있는 다가올 pintOS 프로젝트에 대해 알아보면서도, long 자료형에 대한 의문이 있었다. 겉보기에는 int 자료형과 무엇이 다른 지 잘 몰랐었고, 사용을 해볼 일도 없었기 때문에(단언컨대, 단 한번도 써본 적이 없다.), 알아보려는 노력을 하지도 않았다. 이번 기회에 자세히 알아보았다.

 

추가 추가

 


◎ 230331 Plan

  • C 공부 - KNK 번역본 / 원론적인 것들 찾아보고, 몰랐던 것 정리하기
  • 학부 실습 자료 풀기 - 조건문 / 반복문 / 배열 / 함수 / 포인터 / 문자열 / 구조체 / 동적할당
  • 밤에 청주에서 CSAPP 읽기 (7장)