본문 바로가기
C언어

[C언어] 정수 상수 표현법 (진법)

by 에파 2021. 5. 4.
728x90

C언어 정수 상수 표현법 (진법)

 

 

정수 상수는 세 가지 진법, 즉 10진수, 8진수, 16진수로 표현할 수 있습니다. 이 때, 상수는 값이 정해져 있고 변하면 안되는 수 입니다.

 

 

진법별 수 표현 방법

 

진법은 수를 표현하는 방법입니다. 0~15까지의 숫자를 세 가지 진법으로 나타내보겠습니다.

 

10진수 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

8진수 : 0, 1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 17

16진수 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

 

 

C 언어에서 진법 표현하기

 

8진수는 숫자 앞에 0(영), 16진수는 0x(영엑스)를 붙여 구분합니다. 다음 값들은 모두 같은 값입니다.

 

10진수 : 12  /  8진수 : 014  /  16진수 : 0xc

 

같은 값들을 세 가지 진법으로 표현하여 출력하면 다음과 같습니다.

 

#include <stdio.h>

int main(void)
{
    printf("%d\n", 12);  // 10진수 정수 상수 출력
    printf("%d\n", 014);  // 8진수 정수 상수 출력
    printf("%d\n", 0xc);  // 16진수 정수 상수 출력
    
    return 0;
}

/*
<Run>
12
12
12
*/

 

10진수를 8진수나 16진수로 출력할 수도 있습니다.

 

#include <stdio.h>

int main(void)
{
    printf("%o\n", 12);
    printf("%x\n", 12);
    printf("%X\n", 12);
    
    return 0;
}

/*
<Run>
14
c
C
*/

 

8진수로 출력하려면 %o, 16진수 소문자로 출력하려면 %x, 대문자는 %X를 사용합니다.

댓글