好吧,官方Java教程“
按位和位移位运算符”介绍了Java中可用的实际 *** 作以及如何调用它们。
如果您想知道“我该如何使用位移”,那不是Java特定的,并且由于它是一种低级技术,因此我不知道任何“可以做的很酷的事情”本身。值得熟悉这些定义,并让您对使用该代码的其他代码睁大眼睛,看看它们做了什么。
请注意,通常以位纠缠为代价会提高效率,但会降低清晰度。例如,
a << 1通常与相同,
a *2但说不清楚。重复异或可以交换两个数字,而无需使用一个临时变量,但它通常被认为是更好的形式更清楚地写的代码 与
临时变量(或者甚至更好,在一个实用方法)。因此在这方面很难给出很好的例子,因为您不可能在体系结构级别上取得任何新的或深刻的成就。这都是关于底层细节的。(而且我估计“野外”大量使用比特纠错是过早优化的实例。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)