位操作代码的重要性



我已经编程3年了,还没有真正投入精力去写位操作代码。从事企业软件的工作,我也没有见过其他开发人员编写这样的程序。

写位操作代码而不是使用数学运算来执行计算是一个很好的实践吗?

或多或少,如果您不使用将受益于位操作的那种软件,那么您可能不需要使用它们。事实上,在许多地方,它们会使代码更难阅读,除非有理由,否则真的不应该使用它们。

然而,如果你感兴趣的话,它们是一个有用的工具,只要有合适的应用程序。例如,如果你的代码要乘以2的幂,那么左移这些位会更快。如果您确定乘法代码是性能的瓶颈,那么这一点非常重要。

需要注意的一个重要事实是,一些编译器会为你做这些形式的优化(例如,将i = i * 2行变为左移)。

这是个有点奇怪的问题!不,企业代码可能永远不会做位操作。它通常是用Java编写的。. NET等,并关心在各个系统之间高层次地推送消息和通信。

然而,如果你正在使用C或c++或汇编编写驱动程序,或者做聪明的低级数学,那么位操作可能对你更重要和有用。毫无疑问,当时机到来时,你会知道什么时候使用它!

这要视情况而定。例如,右移和左移操作通常比除法操作快。如果您需要优化,并且位操作比其他方法更快,则应该使用位操作。但不要过早优化。因为这不是一件好事。如果你确定你需要优化,并且使用位操作符比以前的方法更快,那么是的,你应该使用它们。

TL;使用数学运算符进行数学运算

最新更新