본문 바로가기

C

[C언어] 실습: 10진수를 입력하면 2진수로 출력하기

반응형

10진수를 입력하면 2진수로 출력하기

 

예)

15 → 1111

13 → 1101

17 → 10001


#include<stdio.h>

int main(){

   int num;
   int bin[10] = {0};
   int i = 0;

   printf("10진수 정수 : ");
   scanf("%d", &num);

   do{
      bin[i] = num % 2;   // num 값을 2로 나눈 나머지를 bin[i]에 저장한다.
      num /= 2;           // num을 2로 나눈 값을 num에 저장한다.
      i++;
   } while(num != 0);     // num이 0이 아니면 do로 돌아가 반복문을 실행한다. 

   for(int j = i - 1; j >= 0; j--)    // bin[0]부터 bin[i]까지 저장되어 있으며, 이진수로 표현하려면 뒤에서부터 출력하여야 한다.
      printf("%d", bin[j]);           // do~while 문에서 마지막에 i++을 해주기 때문에 j의 초기값을 'i-1'로 준다.

   return 0;
}

 

반응형