数值的整数次方
题目描述
给定一个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; }