开发者社区> 问答> 正文

计算 4*4 最快实现方式是什么?

不知道位移是不是最快的,还是有其他更快的方式?

还有 444*4 呢?

展开
收起
a123456678 2016-06-07 17:58:34 1873 0
1 条回答
写回答
取消 提交回答
  • 計算機得到 4*4 答案最快的方法是預先在代碼中直接寫常數 16(不過一般編譯器會也幫你這麼幹)。

    但若是 n*4 最快的方法,位移!除非 n = 0(這時候直接返回 0 纔是最快的)。

    不過現代 CPU 計算乘法效率已經跟加法似的了,編譯器優化的水平也不是懂一點技巧就能藐視的了,所以,實際情況,直接寫成 4*4,放心地交給編譯器優化(計算機最懂計算機!)纔是最快的(無論從哪個角度哦)。

    long long powll(long long a, long long b)
    {
        long long ret = 1;
        while (b) {
            if (b & 1) ret *= a;
            a *= a;
            b >>= 1;
        }
        return ret;
    }
    2019-07-17 19:30:36
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
函数计算事件驱动的无服务器计算服务 立即下载
新量⼦⾰命与量⼦计算 立即下载
用计算和数据去改变整个世界 立即下载