10진수를 입력받아 16진수(hexadecimal)로 출력해보는 문제이다.
#include<stdio.h>
int main(void)
{
int A;
scanf("%d", &A);
printf("%x",A);
return 0;
}
10진수를 16진수로 출력해주기 위해 % x의 서식 문자를 사용해주었다.
8진수와 16진수를 이용해 데이터를 표현하는 부분이 잘 생각이 나지 않아 알아보았다.
8진수와 16진수를 이용한 데이터 표현을 알아보면
#include<stdio.h>
int main(void)
{
int num = 10;
int num2 = 012;
int num3 = 0xA;
printf("%d", num);
printf("%d", num2);
printf("%d", num3);
return 0;
}
num2 = 012 라는 문장이 있는데, 이는 숫자 0으로 시작하면 8진수의 표현으로 약속이 되어있기 때문에, 012는 8진수의 표현이고 10진수의 값으로 출력했을때 10이라는 것을 확인할 수 있었다.
num3 = 0xA; 에서0x로 시작하면 16진수의 표현으로 16진수 A는 10진수로 10의 값이다.