public class Solution {
    public double Power(double base, int exponent) {
        long b = exponent;
        double res = 1;
        if(base == 0){
            return 0;
        }
        if (b < 0){
            base = 1 / base;
            b = -b;
        }
        while(b > 0){
            // 先判断奇偶
            if ((b&1) == 1){
                res *= base;
            }
            base *= base;
            //除2向下取整
            b >>= 1;
        }
        return res;
  }
}