11 数值的整数次方

来源:互联网 发布:客户无忧软件 编辑:程序博客网 时间:2024/05/22 15:51


描述:



参考代码:

public class Power {static boolean valid=true;public static void main(String[] args) {// TODO Auto-generated method stub    double res=   power(2.0,-2);    System.out.println(res);}private static double power(double base, int exponent) {if (eaqual(base,0.0)) {  //考虑底数为 0 ,计算机中判断两个小数是否相等不能用== 必须用差的绝对值小于一个参考值valid=false;        // 区别 返回0的情况return 0.0;}if (exponent==0) {return 1;}if (exponent==1) {return base;}int absExponent=Math.abs(exponent);double res=power(base, absExponent>>1);res*=res;if ((absExponent&1)==1) {   //absExponent 为 奇数 res=res*base;      }if (exponent<0) {         //absExponent 为 负数 res=1/res;}return res;}private static boolean eaqual(double base, double d) {// TODO Auto-generated method stubif (Math.abs(base-d)<0.0001) {return true;}return false;}}

测试结果:



0 0
原创粉丝点击