C언어; 10진수를 2진수로 변환하는 알고리즘

#include <stdio.h>

int dec2bin(int decimal)
{
    int binary[50], cnt = 0, result = 0;
    while (decimal != 0)
    {
        binary[cnt] = decimal % 2;
        decimal /= 2;
        cnt++;
    }

    while (cnt > 0)
    {
        result = result * 10 + binary[--cnt];
    }

    return result;
}

int main()
{
    int dec;
    printf("10진수 입력: ");
    scanf("%d", &dec);

    printf("%d\n", dec2bin(dec));

    return 0;
}

 

간단한 코드이므로 설명 생락

댓글