본문 바로가기

Study/알고리즘 자료구조 개념

이진수-십진수 변환하기

#include <iostream>
using namespace std;

void Convert(int dec)
{
	//종료조건 현재 자릿수가 최대 자릿수
    if(dec / 2 == 0){
        cout << dec % 2;
        return;
    }
    int bin = dec % 2;
    Convert(dec / 2); //다음 자릿수
    cout << bin; //먼저 계산한 값(LSB)가 나중에 출력되야하므로 재귀호출 뒤에 cout
}

int main() {
    int decimal_num;
    cin >> decimal_num;

    Convert(decimal_num);
    return 0;
}
#include <iostream>
#include <string>
using namespace std;

string binary;

int main() {
    cin >> binary;

    int num = 0;

    for(int i = 0; i < binary.length(); i++)
    {
        num = num*2 + binary[i]-'0';
    }

    cout << num;
    return 0;
}