gpt4 book ai didi

java - 我应该在 Java 中进行位移除以 2 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:11 26 4
gpt4 key购买 nike

Possible Duplicates:
Is shifting bits faster than multiplying and dividing in Java? .NET?
Quick Java Optimization Question

多年前,在大学里,我了解到位右移一位可以完成与除以二相同的任务,但通常要快得多。我不确定自从 9 到 10 年前我了解 Java 以来,Java 在这方面是如何发展的。 Java编译器是否会自动将除以二转换为位移操作,还是我应该自己在代码中手动执行位移操作?

最佳答案

除非您在位移位很常见的商店和代码库中工作,否则恕我直言,您将面临混淆的风险。是的,这些表达式在逻辑上可能是等效的,但是:

  • n00b 可能会对替代语法感到困惑
  • 像我这样从大学以来就没有进行过任何位移的老家伙可能会感到困惑
  • 如果你稍微改变一下,觉得有必要对你刚刚所做的事情发表评论,那么你肯定就失败了。简单除法是自记录的,任何熟悉初等数学的人都会清楚
  • 在如此简单的事情上,你不可能比编译器更聪明,所以不必费心去尝试
  • 作为良好的编码实践,最好让您的代码简单/普通,而不是聪明(呃)

所有这些都是相对的,并且实际上取决于您商店的标准。如果您的同事喜欢进行位移,那么请务必继续进行位移。

关于java - 我应该在 Java 中进行位移除以 2 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52778366/

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