很好的求幂的题目

参考这里:

http://www.cnblogs.com/CheeseZH/p/5113000.html

 

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

用位的方式去做。

class Solution {
public:
    double Power(double b, int e) {
        int p = abs(e);
        double r = 1.0;
        while (p) {
            if (p & 1) r *= b;
            b *= b;
            p >>= 1;
        }
        return e > 0 ? r : 1 / r;
    }
};

 

posted @ 2017-01-21 23:07  blcblc  阅读(211)  评论(0编辑  收藏  举报