首页 > 代码库 > 剑指Offer09 数值的整数次方

剑指Offer09 数值的整数次方

 1 /************************************************************************* 2     > File Name: 09_Power.c 3     > Author: Juntaran 4     > Mail: JuntaranMail@gmail.com 5     > Created Time: 2016年08月29日 星期一 21时07分21秒 6  ************************************************************************/ 7  8 #include <stdio.h> 9  10 double Power(double base, int exponent)11 {12     if (base == 0)13         return 0;14     if (exponent == 0)15         return 1;16     if (exponent == 1)17         return base;18     19     int x = abs(exponent);20     double r = 1.0;21     22     while (x)23     {24         if (x & 1)25             r *= base;26         base *= base;27         x >>= 1;28         printf("r is %f\n base is %f\n x is %d\n", r, base, x);29     }30     return exponent<0 ? 1/r : r;31 }32 33 int main()34 {35     double base = 2;36     int exponent = 10;37     double ret = Power(base, exponent);38     printf("ret is %f\n", ret);39     40     return 0;41 }

 

剑指Offer09 数值的整数次方