首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java中的高效幂指数方法(JDK 1.7)

java中的高效幂指数方法(JDK 1.7)
EN

Stack Overflow用户
提问于 2012-10-17 00:39:31
回答 2查看 545关注 0票数 1

我想为我的项目所需的java.Kindly中的幂(基,指数)创建一个优化方法,其中基和指数的类型都是int,指数移位10^9。但是在java中必须这样做吗?我知道可以使用位移位,但它本身涉及到java中位集的使用建议一个实现

EN

回答 2

Stack Overflow用户

发布于 2012-10-17 00:55:08

只需使用java.lang.BigInteger类即可。它有一个pow()方法,它以一种非常有效的方式准确地完成了您想要做的事情。

票数 0
EN

Stack Overflow用户

发布于 2012-10-17 04:23:58

因为指数是int,所以您已经有了数字的二进制表示(很好,计算机是这样做的)。所以你应该有三个整数,基数,指数和一个临时整数,用于计算,还有一个用于求解。您可以从以下内容开始:

代码语言:javascript
复制
unsigned int base;//you manage input for this and exponent like you wish, probably passed in as parameters
unsigned int exponent;
unsigned int temp = base;
unsigned int answer = 1;
while (exponent!=0){
    if (exponent%2 == 1){
        answer *= temp;
    }
    exponent>>1;
        temp<<1;
}

请尝试这个算法,让我知道它是如何工作的。while look以指数的最大位长度运行(即32次)。这段代码不能处理大数或负数,但我不确定您是否需要这样做。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12919461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档