[C언어] 10진수를 2진수로 변환하는 방법

ET의 공부/C언어|2020. 4. 9. 21:04

안녕하세요 오늘은 C언어에서 10진수를 2진수로 변환하는 방법에 대해 포스팅하겠습니다.

 

 

1. 10진수를 2진수로 변환하기 

 

변환하려는 숫자를 2로 나누고 그 나머지도 2로 나누는 연산을 반복합니다.( 입력 값이 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
#include <stdio.h>
#include <stdlib.h>
 
void decimal_to_binary(int n)
{
    int bin_num[1000];
    int i = 0;
    while (n > 0) {
        bin_num[i] = n % 2;
        n = n / 2;
        i++;
    }
    for (int j = i - 1; j >= 0; j--)
        printf("%d",bin_num[j]);
    printf("\n");
}
 
int main()
{
    int n = 13;
printf("십진수 %d 의 변환된 이진수: ",n);
    decimal_to_binary(n);
    
    return 0;
}

   

while (n > 0) {

        bin_num[i] = n % 2;

        n = n / 2;

        i++;

    }

 

 로 변환하려는 값 n이 0보다 작거나 같아질 때 까지 /2 연산을 반복해줍니다.

그 나머지를 배열에 넣고 반대로 출력해주면 이진수를 얻을 수 있습니다.

 

 

 

 

댓글()