相关疑难解决方法(0)

使用位移除以2的幂

我有以下任务:

计算x/(2^n),用于0 <= n <= 30使用位移.

要求:向零舍入.

例子:

divpwr2(15,1) = 7
divpwr2(-33,4) = -2
Run Code Online (Sandbox Code Playgroud)

法律经营者: ! ~ & ^ | + << >>

最大运营商数量:15

这是我到目前为止所得到的:

public int DivideByPowerOf2(int x, int n)
{
    //TODO: find out why DivideByPowerOf2(-33,4) = -3 instead of -2
    return x >> n;
}
Run Code Online (Sandbox Code Playgroud)

DivideByPowerOf2(15,1) = 7 没关系.

DivideByPowerOf2(-33,4) = -3不是-2.为什么?

c# bit-manipulation

10
推荐指数
4
解决办法
2万
查看次数

标签 统计

bit-manipulation ×1

c# ×1