题目描述
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
解题思路
注意result用double,别用int,首先牛客用2,-3来检测,博主检查半天才发现。。。。
运行代码
public class Solution {
public double Power(double base, int exponent) {
int tmp = exponent;
double result = 1;
if(exponent == 0){
return 1;
}else if(exponent < 0){
tmp = exponent;
exponent = -tmp;
}
while(exponent!=0){
if((exponent&1)==1){
result *= base;
}
base *=base;
exponent>>=1;
}
return tmp>=0?result:(1/result);
}
}