最近我在面试中遇到了一个问题——我被要求从性能方面比较按位运算。
比如,简单介绍一下不同位操作的性能。
我想这个问题可能非常笼统且非常特定于机器,但我也认为应该有一些关于这个的一般规则,你必须提到(我没有:)。
那么——你会怎么回答?
我可能还应该说,比较它们在 C (或 C++ 等)中的性能可能是一个好主意,因为我假设这些语言为编译器提供了更多空间来执行与位相关的优化。
谢谢你。
好的,完整的问题上下文。
采访有几个部分,其中一些真的是小菜一碟,有些是一场噩梦。与位相关的部分有点难,包括以下问题:
浮点数规范,
float
,double
快速
float
->int
转换(如果您知道范围,甚至更快)
这些并不是很困难,但作为与位相关部分的最后一个问题,我被要求列举我知道的位操作并比较它们的性能。
我回答了一些不是真正描述性的问题,例如“它是体系结构,编译器,......具体,这实际上并不重要,按位已经非常低级”,但我想这个答案很糟糕。