/** * @author 心系蝶相印 Onedirection * @create 2019-02-24 17:46 * * 2 ^ 4 = 16 4D = 100B * res = power(2,2) -> power(2,1) -> 2 * | * res&1=1 * 2*2 * 4*4 */ public class 数值的整数次方 { public static double power(double num, int exp) { if (exp < 0)//解决负数问题 return 1 / power(num, -exp); if (exp == 0) return 1; if (exp == 1) return num; double res = power(num, exp >> 1); res = res * res; if ((exp & 1) == 1) res = res * num; return res; } public static void main(String[] args) { System.out.println(power(2, 4)); System.out.println(power(2, -2)); } }
剑指:数值的整数次方java
最新推荐文章于 2021-02-24 18:52:41 发布