본문 바로가기

C

C 십진수를 이진수, 8진수, 16진수로 바꾸기

#include <stdio.h>
#include <stdlib.h>
void two(int num){
	int i;
	int nums[8];
	for(i=0; i<8; i++){
		nums[i]=0;
	}
	for(i=0; i<8; i++){
		nums[i]=num%2;
		num=num/2;
	}
	for(i=7; i>=0; i--){
		printf("%d",  nums[i]);
	}
} 
void eight(int num){
	int h, t, o;
	h=num/64;
	t=(num%64)/8;
	o=(num%64)%8;
	printf("%d%d%d", h,t,o);
}
void sixteen(int num){
	int six[3];
	int i;
	six[0]=num/256;
	six[1]=(num%64)/16;
	six[2]=(num%64)%16;
	for(i=0; i<3; i++){
		if(six[i]==10){
			printf("A");
		}
		else if(six[i]==11){
			printf("B");
		}
		else if(six[i]==12){
			printf("C");
		}
		else if(six[i]==13){
			printf("D");
		}
		else if(six[i]==14){
			printf("E");
		}
		else if(six[i]==15){
			printf("F");
		}
		else{
			printf("%d", six[i]);
		}
	}
}
 
int main(void){
	int a;
	printf("10진수 입력 : ");
	scanf("%d", &a);
	printf("\n");
	
	printf("2진수 값 : ");
	two(a);
	printf("\n8진수 값 : ");
	eight(a);
	printf("\n16진수 값 : ");
	sixteen(a);
}

'C' 카테고리의 다른 글

C 배열 포인터 개념  (2) 2023.12.06
C 포인터 개념  (0) 2023.12.06
C 배열을 이용한 로또번호 구하기  (0) 2023.12.05
C 배열 초기화  (0) 2023.12.04
C언어 배열을 사용하여 가위바위보 만들기  (2) 2023.12.01