本文介绍了我应该位移位2在Java中划分的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能显示的文件:结果
  Is移位比乘以在Java中分裂快? .NET?结果
  

许多年前在大学里,我了解到,位移由一个正确的完成同样的事情,除以二,但一般是显著更快。我不知道Java已经怎么来一起在这方面,因为9-10年前,我了解了。难道Java编译器会自动除以二转换成比特移位操作,还是应该我手动Ç自己执行在$ C $比特移位操作?

Many years ago in college, I learned that bit-shifting right by one accomplishes the same thing as dividing by two, but is generally significantly faster. I'm not sure how Java has come along in that regards since the 9-10 years ago I learned about that. Does the Java compiler automatically converts a divide-by-two into a bit-shift operation, or should I manually perform the bit-shift operation in the code myself?

推荐答案

除非你在商店和codeBase的,其中位移是常见的话,恕我直言工作,你冒着混淆。是的,当然pressions可能是逻辑上等同,但:

Unless you're working in a shop and a codebase where bit-shifting is common then, IMHO, you're risking obfuscation. Yes, the expressions may be logically equivalent but:


  • 系统的n00b可能会被替代语法感到困惑

  • 一个老家伙谁一直没有做任何位移从大学,像我这样的,可能会被混淆

  • 如果您移位,并觉得有必要对你只是做了那么你就肯定了评论。简单的除法是自记录文件,并会清楚的人谁是熟悉基本的数学

  • 您不是要智取优化编译器的东西,简单,所以不要打扰试图

  • 作为良好的编码实践,最好让你的code简单/香草,而不是聪明(ER)

这一切都是相对的,并再次,实际上取决于你的店铺的标准。如果你的同事喜欢位移位,然后通过各种手段去和位移位。

All this is relative and, again, really depends on your shop's standards. If your colleagues love to bit-shift, then by all means go forth and bit-shift.

这篇关于我应该位移位2在Java中划分的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-10 06:26