为了账号安全,请及时绑定邮箱和手机立即绑定

实现基于整数的幂函数pow(int,int)的最有效方法

实现基于整数的幂函数pow(int,int)的最有效方法

C++ C
开心每一天1111 2019-06-10 17:05:42
实现基于整数的幂函数pow(int,int)的最有效方法在C中将一个整数提高到另一个整数的幂的最有效的方法是什么?// 2^3pow(2,3) == 8// 5^5pow(5,5) == 3125
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

通过平方进行幂。

int ipow(int base, int exp){
    int result = 1;
    for (;;)
    {
        if (exp & 1)
            result *= base;
        exp >>= 1;
        if (!exp)
            break;
        base *= base;
    }

    return result;}

这是非对称密码学中对巨大数字进行模幂运算的标准方法。


查看完整回答
反对 回复 2019-06-10
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

如果你需要提高2倍的能量。要做到这一点,最快的方法就是按功率进行移动。

2 ** 3 == 1 << 3 == 82 ** 30 == 1 << 30 == 1073741824 (A Gigabyte)


查看完整回答
反对 回复 2019-06-10
  • 3 回答
  • 0 关注
  • 1556 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信