我了解按位运算以及它们对于不同目的的有用性,例如权限。但是,我似乎并不了解位移运算符的用途。我知道它们是如何工作的,但是除非我想进行一些非常快速的乘法或除法,否则我无法想到任何可能需要使用它们的情况。还有其他使用移位的理由吗?
最佳答案
原因有很多,以下是一些原因:
由于这些和其他原因,大多数处理器具有移位和/或旋转指令以及其他逻辑指令(和/或/或/非)。
从历史上看,乘法和除法的运算速度很慢,因为它们是更复杂的运算,而某些CPU根本没有运算法则。
另请参阅此处:
Have you ever had to use bit shifting in real projects?
关于bit-manipulation - 除了快速数学运算之外,是否有充分的理由使用移位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3692992/