#include <iostream>
#include <cmath>

using namespace std;

int int_length(int bit_number);
int bin_to_int(int bit_number);

int main()
{
    cout << bin_to_int(111100010) << endl;
    return 0;
}

int int_length(int bit_number){
    bool found = false;
    int digit_count = 0;

    while(!found){
        int division = bit_number / pow(10, digit_count);
        if(division < 1){
            found = true;
        }
        else{
            digit_count++;
        }
    }
    return digit_count;
}

int bin_to_int(int bit_number){
    int number_length = int_length(bit_number);

    int number = 0;

    for(int i = 0; i < number_length; i++){
        int e = pow(10, i);
        int digit;

        if(e < 10){
            digit = bit_number % 10;
            digit = digit * pow(2, i);
            number = number + digit;
        }
        else{
            digit = (bit_number / e) % 10;
            digit = digit * pow(2, i);
            number = number + digit;
        }
    }

    return number;

}