메뉴 바로가기 검색 및 카테고리 바로가기

한빛미디어

뇌를 자극하는 C++ 프로그래밍

뇌를 자극하는 C++ 프로그래밍 질의응답 게시판입니다.

이진법을 십진법으로 변환하는 문젠데요.

2007-05-03

|

by

7019

안녕하세요.

이진법을 십진법으로 변환하는 문젠데요.

이진법 11을 입력하면 3이 나오는데 이진법 100을 입력하면 3이 나오고 이진법 101을 입력하면 4가 나오는데 while문에서 binary가  1이 되면 몫이 0이 되서 반복문을 탈출하게 되는데 이 상황에서   while문에 어떠한 것을 넣으면 값이 올바른 것이 나올까요.

답변 부탁드립니다.

휴, 이제 됐습니다.

#include



using std::cout;
using std::cin;
using std::endl;



int main()
{
      int  binary, decimal; //이진수
      int addMultiplication;


      cout<<" 2진수 입력 : ";
      cin>>binary;         //반드시 0과 1로 입력하여야 한다.



      decimal=0;            //binary(이진법)을 decimal(십진법)으로

      addMultiplication=1;
      while(binary)
      {
           if(binary%2)
              decimal+=addMultiplication;

           binary/=10;         //binary가 0이 되는 순간에 반복문을 탈출한다.
           addMultiplication*=2;  
      }

      cout<<"10진법 출력 : "<


      return 0;
}
댓글 입력