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진수로 표현하면
0x5a, 8진수로 표현하면0132
-
prinf함수에서 format 지시어 옵션을 사용해 진법 변환을 할 수 있다.%o는 8진수를,%d는 10진수를,%x는 16진수를 지시 (line5)- 지시어에 #을 삽입하면 진수를 나타내는 접두사를 포함해 프린트함 (line8)
- line 5와 같이 접두사가 없는 경우 몇진수 수인지 명확하게 알 수 없음
자료형
-
크게 정수형과 실수형으로 구분
자료형 크기 정수형 char1byte short2byte int4byte long4byte long long8byte 실수형 float4byte double8byte
정수형
- 정수형은 하나의 bit를 부호 정보로 사용하는
signed와 부호 정보 없이 모든 bit을 값을 표현하는데 사용하는unsigned가 있음 -
unsigned는 양수 범위를signed보다 두배 표현할 수 있음example)
signed char는 -128~127의 범위를 표현 가능하고,unsigned char는 0~255의 범위를 표현할 수 있음 -
구분되지 않는 상수의 타입을 알려주는 suffix를 붙여줄 수 있음
example)
int,unsigned등 모든 정수형 데이터가 10을 표현할 수 있음.10→signed int10u→unsigned int10l→long10ul→unsigned long10ll→long long10ull→unsigned long long