代码
class Solution {
public:
double Power(double base, int exponent) {
if (exponent < 0) {
exponent = -exponent;
base = 1/base;
}//处理幂为负数的情况
double x = base;
double res = 1.0;// return value
while (exponent) {![在这里插入图片描述](https://img-blog.csdnimg.cn/20210712174558879.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1Njc3MDcz,size_16,color_FFFFFF,t_70)
if (exponent & 1) {
res *= x;
}
x *= x;
exponent = exponent >> 1;//右移一位
}
return res;
}
};
思路
结合代码食用更佳。