C언어 10진수를 2진수로 바꾸기

2018. 9. 29. 21:49개발노트

10진수를 2진수로 바꾸기 위해

바꾸는 공식을 알아봅시다.



그림에 나와있듯이

10진수를 2로 나눕니다.

계속 나눠서 나머지는 배열에 넣어서 역순으로 출력하면 2진수가 나오게 됩니다.


int num = 0; 나누어질 수를 넣어두는 변수입니다.

int numarr[10];    나누어진 나머지가 들어갈 배열입니다.

int position = 0;  역순출력을 위해 필요합니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h>
 
void main() {
 
    //int num = 0;
    int numarr[10];
    int position = 0;
 
    printf("10진수 정수를 입력하세요.");
    scanf_s("%d"&num);
 
    while (1)
    {
        numarr[position] = num % 2//나머지
        num = num / 2//몫
        position++;
        if (num == 0) {
            break;
        }
    }
    //역순 (나머지의 역순이 이진수)
    for (int i = position - 1; i >= 0; i--)
    {
        printf("%d", numarr[i]);
    }
    return;
 
}
cs