Shift操作员快速还是不快?

-3 c++ bit-shift

以下两个代码之间的速度有多快?为什么?在哪种情况下,一个可以优先于另一个?

double x = (a + b) >> 1
double x = (a + b) / 2.0
Run Code Online (Sandbox Code Playgroud)

Mar*_*k B 6

这些做了不同的事情,所以选择一个你喜欢的功能:截断结果或返回0.5分数.