我知道有多种方法可以将数字乘以2:
v << 1
v * 2
v >> -1
v + v
v - -v
哪个最快? 我在intel x86处理器上使用Assembly。
答案 0 :(得分:1)
这里显然没有一个答案。答案取决于所使用的特定处理器,至少。
大多数情况下,您的编译器都会知道,因此大多数情况下,您只需在代码中编写* 2
,从而最大限度地提高读者的清晰度和效率。
如果你真的在乎,你必须自己进行仔细的测量。
(另外,乘以2是非常基本的,甚至可能 在v * 2
,v + v
和v << 1
之间存在可衡量的差异。)< / p>