Saturday, February 27, 2016

Invert an integer

int getIntegerComplement(int n) {

    vector<int> binary;
    int rem = 0;
   
    while (n) {
        rem = !(n % 2);
        n = n/2;
        binary.push_back(rem);
    }
   
    int decimal = 0;
    int i = 0;
    std::vector<int>::iterator it = binary.begin();
    for (; it!= binary.end(); ++it) {
        decimal += *it * pow(2, i);
        ++i;
    }
   
    return decimal;
}

No comments: