我想弄清楚我将如何代表
x/2^y -> in terms of binary operators
我知道
x >> 1 = = x/2
所以我的直觉是说,使用我所知道的,为了能够表现,需要更多的操作。但我已经被困了一段时间,所以我想我可能会在这里得到一些指导。
答案 0 :(得分:0)
鉴于澄清,我认为你想要x >> y;
修订:以上仅适用于无符号整数。
我无法弄清楚如何在不使用加法的情况下将有符号数字舍入为零。使用带符号的32位整数,以下工作:
((x+(x>>31))>>y)-(x>>31)
这是有效的,因为x>>31
对于负数为-1,对于正数为零。