[Algorithm] 입력받은 10진수를 2진수로 변환하기(진법변환)
- ETC./Algorithm
- 2019. 6. 12.
입력 받은 10진수를 2진수로 변환하기
10진수를 2진수로 변환하려면 10진수를 2로 나누어 몫 과 나머지를 구한 후 나머지는 출력할 배열에 저장하고 몫은 또 2로나누어 나머지를 구하여 출력할 배열에 저장하는 과정을 몫이 0이 될때까지 무한반복 후 몫이 0이되었을경우 저장한 출력배열을 거꾸로 출력시키면 됩니다.
C언어 / C++ 코드
#include<stdio.h>
main()
{
int num, num2, b, mok, nmg, i;
int a[10];
scanf("%d",&num);
num2 = num;
b = -1;
do{
b++;
mok = num/2;
nmg = num-mok*2;
a[b] = nmg;
num = mok;
}while(mok!=0);
printf("%d를 2진수로 변환한 값 = ",num2);
for(i=b;i>=0;i--){
printf("[%d]",a[i]);
}
}
비트 연산을 활용하여 좀 더 빠르게 할 수 있는 방법도 있습니다. 아래글을 참고해주세요.
[C언어] 10진수를 2진수로 출력하기 (비트연산 활용)
'ETC. > Algorithm' 카테고리의 다른 글
[Algorithm] 입력받은 2진수를 그레이코드로 변환하기 (0) | 2019.07.05 |
---|---|
[Algorithm] 입력받은 2진수의 보수 구하기 (0) | 2019.07.03 |
[Algorithm] 입력받은 수를 소인수 분해하기 (0) | 2019.06.11 |
[Algorithm] 입력받은 수의 약수 구하기 (0) | 2019.06.10 |