gpt4 book ai didi

c - 哪种方法可以更快地确定奇偶性?

转载 作者:行者123 更新时间:2023-11-30 20:46:53 25 4
gpt4 key购买 nike

因此,当我学习编程时,我了解到简单的“x % 2”将是确定数字是否为偶数的快速好方法。从那以后我开始使用“x & 1”,因为我相信它在 CPU 中速度更快(尽管考虑到今天的速度可能毫无意义)。任何对 CPU 了解更多的人都可以阐明这是否实际上更快,或者是否正在进行一些简单的编译器优化?

最佳答案

C 是一种编译语言。它不是汇编语言。

编译器的工作就是至少比你更了解(通常更多)机器的指令集。

如果您知道 x % 2x & 1 是等价的,您不认为您的编译器也应该知道这一点吗?

对于任何像样的编译器,如果您编写 x % 2,并且编译器知道位测试在您的计算机上会更快,它会自行发出代码来执行位测试.

底线是你应该编写清楚表达你的意图的代码,并让编译器担心优化它。只有在极少数情况下,您才能通过像这样的“微优化”来显着提高代码的性能。 如果您已经证明您尝试优化的代码是一个重大瓶颈,并且并且您已经证明所提出的改进确实非常显着,那么才值得执行它们快点。否则,请不要打扰:您可能在浪费时间。

但无论如何,我们无法告诉您哪种方式通常更快,因为每台机器可能都不同。为了确定答案,您必须亲自测量。

关于c - 哪种方法可以更快地确定奇偶性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40228873/

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