哪个更快(掩码>> i&1)或(掩码&1 << i)?

Mih*_*yan 0 c c++ bitwise-operators

在我的代码中,我必须选择这两个表达式中的一个(其中mask和i非常数整数-1 < i < (sizeof(int) << 3) + 1).我不认为这会使我的程序的性能更好或更差,但这对我来说非常有趣.你知道哪个更好,为什么?

Ecl*_*pse 5

首先,每当你发现自己问"哪个更快"时,你的第一反应应该是为自己描绘,测量和发现.

其次,这是一个非常小的计算,它几乎肯定与您的应用程序的性能无关.

第三,这两者很可能在性能上相同.