忘了摘自某大神的了,这个方法可以直接用,希望以后可以用到。
/*求x的K次方,
* */
public class Exp {
public static void main(String[] args) {
// TODO Auto-generated method stub
double x = exp(2, 0);
System.out.println(x);
}
public static double exp(int x, int k) {
if (k == 0 && x == 0)
throw new IllegalArgumentException();
if (k == 0)
return 1;
if (k < 0)
return 1 / exp(x, -k);
double temp = exp(x, k >> 1);
return k % 2 == 1 ? temp * temp * x : temp * temp;
}
}