用位运算符表示指数表达式

时间:2015-10-09 01:58:41

标签: bit-manipulation bitwise-operators

我想弄清楚我将如何代表

x/2^y -> in terms of binary operators

我知道

x >> 1 = = x/2 

所以我的直觉是说,使用我所知道的,为了能够表现,需要更多的操作。但我已经被困了一段时间,所以我想我可能会在这里得到一些指导。

1 个答案:

答案 0 :(得分:0)

鉴于澄清,我认为你想要x >> y;

修订:以上仅适用于无符号整数。

我无法弄清楚如何在不使用加法的情况下将有符号数字舍入为零。使用带符号的32位整数,以下工作:

((x+(x>>31))>>y)-(x>>31)

这是有效的,因为x>>31对于负数为-1,对于正数为零。