将数字乘以2的最快方法是什么?

时间:2016-05-04 19:48:39

标签: performance numbers multiplication

我知道有多种方法可以将数字乘以2:

v << 1
v * 2
v >> -1
v + v
v - -v

哪个最快? 我在intel x86处理器上使用Assembly。

1 个答案:

答案 0 :(得分:1)

这里显然没有一个答案。答案取决于所使用的特定处理器,至少。

大多数情况下,您的编译器都会知道,因此大多数情况下,您只需在代码中编写* 2,从而最大限度地提高读者的清晰度效率。

如果你真的在乎,你必须自己进行仔细的测量。

(另外,乘以2是非常基本的,甚至可能 v * 2v + vv << 1之间存在可衡量的差异。)< / p>