您的位置:首页 > Web前端

剑指Offer——数值的整数次方

2017-07-29 17:26 344 查看

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

解题思路

exponent为负数,结果取倒数

从二进制的角度看211可以表示为21011=21000∗210∗21那么程序如下

public class Solution {
public double Power(double base, int exponent) {
double result = 1.0;
int e = Math.abs(exponent);
while(e != 0){
if((e&1) == 1)result *= base;

base *= base;
e >>= 1;
}

if(exponent < 0)result = 1 / result;

return result;

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息