C/C 연습

C 진수 계산기? 변환기

HicKee 2022. 9. 21. 14:15

진수 변환기 


   10진수를 입력 받고 변경할 진수 입력 변환값 출력 

   16진수 10이상 A,B,C,D,E,F 으로 출력

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {

	/* 진수 계산기
	   진수 입력 받고 숫자 입력 받고 진수출력 */

	int n = 0;
	int bina = 0; // 진수 입력

	printf("바꿀 10진수를 입력하세요 : ");
	scanf("%d", &n);

	printf("몇 진수로 바꿀것인지 입력하세요 : ");
	scanf("%d", &bina);



	int arr[20];

	int count = 0;

	while (1)
	{
		if (count > 0)
		{
			n = n / bina;
			//printf("n의 값의 변화 확인 : %d\n", n);
		}

		arr[count] = n % bina;

		if (n == 0) {
			break;
		}

		count++;
	}
	//printf("count 값 확인  : %d\n", count);

	for (int i = 0; i < count; i++)
	{
		//printf("arr[%d] : %d\n", i, arr[i]);

		if (arr[i] >= 10) // 10 11 12 13 14 15 
		{
			arr[i] = 65 + (arr[i] % 10);
		}
	}

	printf("\n");

	for (int j = count - 1; j >= 0; j--)
	{
		if (arr[j] > 64)
		{
			printf("%c", (char)(arr[j]));
		}
		else
		{
			printf("%d", arr[j]);
		}


		//printf("j의 값 확인  : %d\n", j);
	}




}

출력

바꿀 10진수를 입력하세요 : 10
몇 진수로 바꿀것인지 입력하세요 : 16

A

>> 서식 지정자로 간단하게 할수도 있다.

		printf("%x", bina);
				//16진수
		printf("%o", bina);
				//8진수
		//2진수는 서식지정자가 없다. 직접 정의 해서 사용해야한다.

 

'C > C 연습' 카테고리의 다른 글

C 연산자 03  (0) 2022.09.22
C 연산자 02  (0) 2022.09.21
C 연산자 01  (0) 2022.09.21
C 변수와 데이터 타입 (입력 없는 문제)  (0) 2022.09.21
C 1.구구단  (0) 2022.09.19