class Solution {
public:
    double f(double x,int y)
    {
        double base=x, r=1;
        while(y)
        {
            if(y&1)
                r=r*base;
            base=base*base;
            y>>=1;
        }
        return r;
    }
    double Power(double base, int exponent) {
        if(exponent<0){
            base=1/base;
            exponent=-exponent;
        }
        return f(base,exponent);
    }
};

快速幂模板题。