标签:desc int 浮点数 快速幂 不同 标记 while base ase
class Solution { public: double Power(double base, int exponent) { if(base == 0)return 0; if(exponent == 0 )return 1; double ans = 1; int cur = base ; int flag = 0 ; if(exponent<0){ flag = 1 ;//负数标记 exponent = -exponent ; } //快速幂运算 while(exponent>0){ if((exponent&1)==1){ ans*=cur; } cur*=cur; exponent = exponent>>1; } if(flag)ans = 1/ans ; return ans ; } };
标签:desc int 浮点数 快速幂 不同 标记 while base ase
原文地址:https://www.cnblogs.com/Stephen-Jixing/p/13124127.html