按位运算仍然可行吗?

Cam*_*mel 6 c bit-manipulation bitwise-operators

维基百科,一个真正的知识来源,指出:

在大多数较旧的微处理器上,按位运算比加法和减法运算稍快,并且通常比乘法和除法运算快得多.在现代体系结构中,情况并非如此:按位运算通常与添加速度相同(尽管仍然比乘法更快).

是否有一个实际的理由来学习按位操作黑客,或者现在只是你学习理论和好奇心的东西?

Mac*_*ser 13

按位运算值得研究,因为它们有许多应用.这是不是他们的替代算术运算的主要用途.密码术,计算机图形学,散列函数,压缩算法和网络协议只是一些按位运算非常有用的例子.

您从维基百科文章中引用的行只是试图提供一些关于按位运算速度的线索.遗憾的是,该文章未能提供一些很好的应用示例.


Cra*_*lus 11

按位运算仍然有用.例如,它们可用于使用单个变量创建"标志",并节省用于指示各种条件的变量数.关于算术运算的性能,最好让编译器进行优化(除非你是某种大师).

  • "最好让编译器进行优化(除非你是某种大师)" - 或者编写编译器,或者使用垃圾编译器......学习所有的hack可能不是必需的,但学习如何使用按位运算应该被认为与学习如何正确使用'+'和','一样重要. (2认同)

gee*_*aur 7

它们对于理解二进制如何“工作”很有用;否则,不行。事实上,我想说,即使按位破解在给定的体系结构上更快,编译器的工作就是利用这个事实 \xe2\x80\x94 而不是你的。写下你的意思。

\n