gpt4 book ai didi

c++ - 在 C++ 中,哪个更快? (2 * i + 1) 或 (i << 1 | 1)?

转载 作者:可可西里 更新时间:2023-11-01 16:58:13 27 4
gpt4 key购买 nike

我知道答案可能是特定于硬件的,但我很好奇是否有更普遍的直觉我错过了?

我问了this问题并给出答案,现在我想知道我是否应该改变我的方法以使用“(i << 1|1)”而不是“(2*i + 1)”??

最佳答案

由于 ISO 标准实际上并没有规定性能要求,这将取决于实现、选择的编译器标志、 objective-c PU 以及很可能的月相。

与算法选择等宏观层面的优化相比,这些优化(节省几个周期)在投资返回方面几乎总是显得微不足道。

首要目标是代码的可读性。如果您的目的是移位位和OR,请使用移位版本。如果您的目的是相乘,请使用 * 版本。只有在确定存在问题后才担心性能。

任何体面的编译器都会比你更好地优化它:-)

关于c++ - 在 C++ 中,哪个更快? (2 * i + 1) 或 (i << 1 | 1)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4373480/

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