数值的整数次方

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

分析
计算机中对于浮点型变量是存在误差的,所以判断base是否为0可以根据在一个足够小的区间内。对付exponent是负数时,将base = 1 / base。然后进行迭代

	public double Power_2(double base, int exponent) {
		if(exponent == 0) {
			return 1.00000;
		}
		if(base >= -0.000001 && base <= 0.000001) {
			return 0;
		}
		
		double num = 1.0;	
		
		if(exponent > 0) {
			for (int i = 0; i < exponent; i++) {
				num *= base;
			}
		}
		else {
			exponent = -exponent;
			for (int i = 0; i < exponent; i++) {
				num *= base;
			}
			num = 1.0 / num;
		}
		return num;
	}
posted @ 2019-03-20 21:21  如是说  阅读(140)  评论(0编辑  收藏  举报