题解 | #数值的整数次方#

数值的整数次方

http://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00

需要注意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;
  }
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务