我想要完成以下内容:
编写一个名为
我已经尝试了类似下面的代码,但是得不到正确的答案。请问我的错误在哪里?
编写一个名为
setbits(x,p,n,y)
的函数,将位于位置 p
右侧的右侧 n
个位设置为 y
的最右边的 n
个位,并保留其他位不变。函数应该返回修改后的 x
。我已经尝试了类似下面的代码,但是得不到正确的答案。请问我的错误在哪里?
unsigned setbits(unsigned x,int p,int n,unsigned y)
{
return (x>>p & (y|(~0<<n)));
}