Binary Representation

Given a decimal number, write a method that returns its binary representation (decimal to binary conversion).

bitset<size> ConvertDecimalToBinary(int n)
{
    bitset<size> ret;
    bool neg = (n < 0) ? true : false;
    n = abs(n);
 
    int i = size - 1;
    while (n > 0)
    {
        ret[i--] = (n % 2) ? 1 : 0;
        n /= 2;
    }
 
    if (neg)
    {
        // Flip all the bits
        for (int i = 0; i < size; i++)
            ret[i] = ret[i] ^ true;
 
        // Add 1
        for (int i = size - 1; i >= 0; i--)
        {
            if (ret[i] == 0)
            {
                ret[i] = 1;
                break;
            }
            ret[i] = 0;
        }
    }
 
    return ret;
}