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

发布于 2022-08-29 23:39:24 字数 54 浏览 25 评论 0

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

还有 4*4*4*4 呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

〆凄凉。 2022-09-05 23:39:24

計算機得到 4*4 答案最快的方法是預先在代碼中直接寫常數 16(不過一般編譯器會也幫你這麼幹)。

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

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

在梵高的星空下 2022-09-05 23:39:24
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;
}
oО清风挽发oО 2022-09-05 23:39:24

从通用的角度还是位运算比较靠谱 但是针对某一个点优化直接做成常量就完了么

找个人就嫁了吧 2022-09-05 23:39:24

好像是位移。这是面试题吧

转瞬即逝 2022-09-05 23:39:24

计算器.......

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文