数值的整数次方double pow(double base,int exponent)求base的exponent次方 不考虑大数 不准用库函数

本文介绍了一种使用Java实现的快速幂算法,该算法能够高效地计算任意实数的整数次幂,适用于不需要调用标准库函数的情况。文中提供了一个具体的算法实现,并通过测试函数验证了算法的有效性和准确性。
package org.lza;
/**
 * 数值的整数次方double pow(double base,int exponent)求base的exponent次方 不考虑大数 不准用库函数
 * @author Joson
 *
 */
public class AlgorithmRealizeByJava {
 public static void main(String args[]){
  Test();
 }
 public static double Pow(double base,int exponent){
  if(exponent==0||base==0)//特殊情况处理
   return 0;
  int num=Math.abs(exponent);//取得指数的绝对值;
  if(exponent==1)
   return base;
  double result=Pow(base,num>>1);//优化运算 
  result*=result;
  if((exponent & 1) ==1)//判断是否是奇数
   result*=base;
  if(exponent<0)//判断指数是否是负数
   return 1/result;
  return result;
 }
 /**
  * 测试函数 
  */
 private static void Test(){
  System.out.println(Pow(0,1));
  System.out.println(Pow(1,0));
  System.out.println(Pow(2,8));
  System.out.println(Pow(2,-4));
  System.out.println(Pow(2,7));
 }
}


 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值