프로그래밍 언어/C

C 언어에서 수 체계와 변수

이현찬 2022. 7. 30. 09:38
728x90

C언어의 수 체계

  • C언어에서 2진수로 데이터를 저장. 최소 단위는 1bit
  • 1bit는 오직 2가지만 표현할 수 있기 때문에 이를 8개나 16개씩 묶어 8진수나 16진수로 표현하는 것이 편리
  • 10진법으로 10~15는 16진법에서 A~F로 표기
  • 표현하고자 하는 값 앞에 접두사를 붙이는 방식으로 진법을 표시한다.
    • 8진법 : 0 (숫자 영)
    • 16진법 : 0x (숫자 영과 알파벳 엑스. x의 대소문자는 구분하지 않는다)
    • example) C 프로그램에서 10진수 90을 16진수로 표현하면 0x5a, 8진수로 표현하면 0132
  • prinf 함수에서 format 지시어 옵션을 사용해 진법 변환을 할 수 있다.
    • %o는 8진수를, %d는 10진수를, %x는 16진수를 지시 (line5)
    • 지시어에 #을 삽입하면 진수를 나타내는 접두사를 포함해 프린트함 (line8)
    • line 5와 같이 접두사가 없는 경우 몇진수 수인지 명확하게 알 수 없음

자료형

  • 크게 정수형과 실수형으로 구분자료형 크기
    자료형   크기
    정수형 char 1byte
      short 2byte
      int 4byte
      long 4byte
      long long 8byte
    실수형 float 4byte
      double 8byte

정수형

  • 정수형은 하나의 bit를 부호 정보로 사용하는 signed와 부호 정보 없이 모든 bit을 값을 표현하는데 사용하는 unsigned가 있음
  • unsigned는 양수 범위를 signed보다 두배 표현할 수 있음
  • example) signed char는 -128127의 범위를 표현 가능하고, unsigned char는 0255의 범위를 표현할 수 있음
  • 구분되지 않는 상수의 타입을 알려주는 suffix를 붙여줄 수 있음
    • 10 → signed int
    • 10u → unsigned int
    • 10l → long
    • 10ul → unsigned long
    • 10ll → long long
    • 10ull → unsigned long long
  • example) int, unsigned 등 모든 정수형 데이터가 10을 표현할 수 있음.

'프로그래밍 언어 > C' 카테고리의 다른 글

[C++] pair class 사용법  (0) 2022.09.18
함수  (0) 2022.07.30
C 연산자  (0) 2022.07.30
printf와 scanf  (0) 2022.07.30