题目:实现power函数
问题的多方面考虑:
①指数为负②指数为0③指数为正④底数为0
全面又高效的方法:递归
依据公式:
细节:为提高运算效率,右移代替除以2,位运算符代替求余运算来判断是奇数or偶数
def power1(base,exponent):
if exponent==0:
return 1
if exponent==1:
return base
flag=0
if exponent<0:
exponent=-exponent
flag=1
result=power(base,exponent>>1)
result*=result
if exponent&0x1==1:
result*=base
if flag==0:
return result
else:
return 1.0/result
reference:剑指offer