首页 > 代码库 > 每天一记--2014.9.11
每天一记--2014.9.11
今天仅有一个小程序:
求幂运算
这只是比较优化的一个算法,能有效减少乘法次数,但是不是最优的
这个只是分解得到2的幂次的乘幂
1 package shishi; 2 3 public class QiuMi { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 System.out.println(qiumi(3,31)); 8 9 }10 private static long qiumi(int x, int ex){11 long power=1L;//记得这里要是long型的哟,要不然计算结果不正确12 //一直作循环,求出指数的二进制的反向表示,恰好也是要进行乘幂的数13 while(ex>0){14 if((ex&1)==1)//每一次测试是否需要此底数进行乘幂15 power*=x;16 x*=x;//每一次都求出底数的平方17 ex>>=1;18 }19 return power;20 }21 }
每天一记--2014.9.11
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。