gpt4 book ai didi

c++ - 第一个操作应该更快吗?如果是这样,为什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:54:15 25 4
gpt4 key购买 nike

第一个操作比第二个操作快吗?

  u+= (u << 3) + (u << 1) //first operation
u+= u*10 //second operation

基本上它们都做同样的事情 u= u+(10*u)但我开始知道第一个操作比第二个快。操作时的 cpu 时间 + 与 * 不同吗? 是乘以10
实际上相当于执行 10 次加法运算?

最佳答案

这取决于底层 CPU 和编译器的能力。

任何体面的编译器都应该将 u*10 优化为适当的移位操作,如果它认为它们会更快的话。它可能无法反其道而行之。因此,如果您的意思是 u*10,请务必写成 u*10,除非您知道您使用的是一个糟糕的编译器。

关于c++ - 第一个操作应该更快吗?如果是这样,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10385706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com