CSDN博客

img avalonBBS

2-6

发表于2004/9/14 0:18:00  630人阅读

/*
编写一个函数setbits(x,p,n,y),该函数返回对x执行下列操作后的结果值:
将x中从第p位开始的n个二进制位设置为y中最右边n位的值,x的其余各位保持不变.
*/
int setbits(int x,int p,int n,int y)
{
 /*
 x=11011001 ,p=3,n=3,y=00110111   --->x=11  111 001
 */
      return  (~(~(~0<<n)<<p)&x) |  ((~(~0<<n)&y)<<p);
}
0 0

相关博文

我的热门文章

img
取 消
img