[C언어/C++] 10진수를 8진수, 16진수로 출력하기

C언어에서는 10진수를 8진수나 16진수로 변환해주는 서식문자를 제공합니다. 8진수는 %뒤에 o를 붙이면 되고 16진수는 %뒤에 x를 붙이면 됩니다. 또한 출력한 값이 8진수인지 16진수인지 %뒤에 #을 붙이면 알 수 있게 출력할수도 있습니다. 그리고 원하는 자릿수까지 0으로 채워서 출력할수도 있습니다. 아래 예제를 확인해주세요. 

 

입력받은 10진수를 8진수, 16진수로 출력하기

#include<stdio.h>

int main() {
	int num;
	printf("정수를 입력해주세요\n");
	scanf_s("%d", &num);

	printf("10진수 : %d\n", num); // 서식문자 : %d
	printf("8진수 : %o\n", num); // 서식문자 : %o 
	printf("16진수(소문자) : %x\n", num); // 서식문자 : %x
	printf("16진수(대문자) : %X\n", num); // 서식문자 : %X
	
	printf("8진수(표기) : %#o\n", num); // 서식문자 : %#o
	printf("16진수(표기) : %#x\n", num); // 서식문자 : %#x

	printf("8진수(8자리까지 0으로 채움) : %0.8o\n", num); // 서식문자 : %0.8o
	printf("16진수(8자리까지 0으로 채움) : %0.8x\n", num); // 서식문자 : %0.8x
}

10진수를 16진수 or 8진수로 변환하는 예제

 

댓글

Designed by JB FACTORY