需要注意base同时做平方运算,因为右移一位是平方的

    public double Power(double base, int exponent) {
        if(base == 0 && exponent == 0){
            return 0;
        }
        if(exponent < 0){
            base = 1 / base;
            exponent = -exponent;
        }
        
        double res = 1.0;
        
        while(exponent > 0){
            if((exponent&1) == 1){
                res *= base;
            }
            exponent >>= 1 ;
            base *= base ;//base同时做平方运算
        }
        return res;
  }
}