안녕하세요 프로그래밍의 데이터에는 정수, 실수, 문자열, 문자가 있습니다.
하지만 이 데이터 중에서 바꿀 수 있는 데이터와 바꿀 수 없는 데이터가 있는 것도 알고 계신가요??
바꿀 수 있는 데이터는 변수라고 하고 바꿀 수 없는 형태는 상수라고 합니다.
예를 들어 바꿀 수 있는 데이터는 내 나이, 키, 주소 등등이 있지만 바꿀 수 없는 데이터 (상수)는
태어난 년도, 태어난 시간 등등이 있습니다.
상수는 기본적으로 아리바이 숫자 0~9, +,- 기호를 사용하고 이를 세 가지 진법으로 표현할 수 있습니다.
(10진수, 8진수, 16진수)
참고로 2진수는 표현 형태가 길어지므로 사용하기 비효율적이라서 제외되었습니다.
10진수를 15까지 표현하면
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
8진수를 15까지 표현하면
1 2 3 4 5 6 7 10 11 12 13 14 15 16 17
16진수를 15까지 표현하면
1 2 3 4 5 6 7 8 9 A B C D E F 이렇게 표현됩니다.
그렇지만 C언어에서는 10진수,8진수 표현 방법이 수학적 표현 방법과 다릅니다.
왜냐하면 밑수를 프로그래밍 언어에서는 표기할 수 없기 때문입니다.
그래서 C언어는 8진수는 숫자 앞에 0을 16진수는 숫자 앞에 0x를 붙여서 구분합니다.
10진수에서 12를 8진수와 16진수에서 표시해보겠습니다.
8진수 = 014
16진수 = 0xc
이렇게 표현하는 방법은 다르지만 C언어에서는 모두 같은 12입니다.
그러면 이제 C언어에서 표현하면 어떻게 되는지 확인해볼까요??
#include <stdio.h>
int main(void)
{
printf("%d\n", 12);
printf("%d\n", 014);
printf("%d\n", 0xc);
return 0;
}
값 : 12
12
12 이렇게 나왔습니다.
참고로 거꾸로 표현도 가능합니다.
#include <stdio.h>
int main(void)
{
printf("%o\n", 12);
printf("%x\n", 12);
printf("%X\n", 12);
return 0;
}
%d대신에 %o를 쓰면 8진수
%x는 16진수(소문자)
%X는 16진수(대문자)로 출력됩니다.
'C' 카테고리의 다른 글
C언어 const를 이용하여 상수 만들기 (0) | 2021.12.09 |
---|---|
C언어 변수 선언 (0) | 2021.12.08 |
C언어 정수와 실수 (0) | 2021.12.05 |
C언어 main 함수 구조와 주석 (0) | 2021.12.02 |
C언어로 첫 프로그램 만들어보기.. (0) | 2021.11.29 |
댓글