题目描述:给定一个 double 类型的浮点数 base 和 int 类型的整数 exponent,求 base 的 exponent 次方。

i c } m l p a o s r s f } t u F n F o c o r v v i } } } v w } r u 1 p a a f e e a h e n 1 o r r l l r i t d S w e s s l u a o e b e e e i } e e r r e i } b e r t l r a x > x f x e e f a x n i u ( s p p i p { t s e s p o t _ e o 0 o f b o u x e e o e n i n n a r n r : p x r n o b = e { e e s e e n o p e * e > n : n n e t n D n o s = n b t t < u t 1 o e n t 0 { D = r u n e * b o = = 0 = n = b t n = a = ? u l t s b 0 e { 0 0 - e ! b e e r l e = & a x e e { = s p s , / 0 1 e o _ 1 n : { = e e = n 1 : t / 1 > r I 0 > e n { 1 s t ) D o u b l e {

算法思想: /**

  • 1.全面考察指数的正负、底数是否为零等情况。
  • 2.写出指数的二进制表达,例如13表达为二进制1101。
  • 3.举例:10^1101 = 10^000110^010010^1000。
  • 4.通过&1和»1来逐位读取1101,为1时将该位代表的乘数累乘到最终结果。 */

github地址:https://github.com/cubegao/LeetCode