본문 바로가기

Coding Tests/코드업

코드업 1032번(16진수로 출력해보기)

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의 값이다.