数值的整数次方

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
    double Power(double base, int exponent) {
        if(equal(base,0.0) && exponent < 0){
            return 0.0;
        }
        
        unsigned int absExponent = (unsigned int)(exponent);
        if(exponent < 0)
            absExponent = (unsigned int)(-exponent);
        
        double result = powerWithUnsignedExpoent(base,absExponent);
        if(exponent < 0)
            result = 1.0/result;
        
        return result;
    }
    
    bool equal(double num1,double num2) {
        if(num1-num2>-0.0000001 && num1-num2<0.0000001)
            return true;
        else 
            return false;
    }
    
    double powerWithUnsignedExpoent(double base,unsigned int exp){
        double result = 1.0;
           for(int i = 1;i<= exp;i++){
            result *= base;
        }
        
        return result;
    }

 

posted on 2017-02-28 03:47  123_123  阅读(104)  评论(0编辑  收藏  举报