C 언어에서 수 체계와 변수
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진수로 표현하면
0x
5a, 8진수로 표현하면0
132
-
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
는 -128~127의 범위를 표현 가능하고,unsigned char
는 0~255의 범위를 표현할 수 있음 -
구분되지 않는 상수의 타입을 알려주는 suffix를 붙여줄 수 있음
example)
int
,unsigned
등 모든 정수형 데이터가 10을 표현할 수 있음.10
→signed int
10u
→unsigned int
10l
→long
10ul
→unsigned long
10ll
→long long
10ull
→unsigned long long