【面试题11】数值的整数次方

1.代码的规范性
清晰的书写,清晰的布局,合理的命名
2.代码的完整性
检查代码是否完成了基本功能,输入边界值是否能得到正确的输出,是否对各种不规范的非法输入做出了合理的错误判断
1)从3方面保证代码的完整性
功能测试,边界测试,负面测试
2)3种错误的处理方法
第一种方式是函数用返回值来告知调用者是否出错;
第二种方式是当发生错误时设置一个全局变量;
第三者方式是异常。

题目:数值的整数次方
实现函数double Power(double base,int exponent),求base的exponent此方。不得使用函数库,同时不需要考虑大数问题。
(考虑输入的指数小于1即是0或者负数的时候怎么办)

double PowerWithUnsignedExponent(double  base,unsigned int exponent)
{
    if(exponent==0)
        return  1;
    if(exponent==1)
        return base;
    double result=PowerWithUnsignedExponent(base,exponent>>1);
    result*=result;
    if(exponent & 0x1==1)
        result*=base;

    return result;
}

两处细节:
判断base是否等于0和用位运算替代乘除法及求余运算)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值