作业帮 > 综合 > 作业

编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中...

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 20:25:36
编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中...
编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中从第p位 开始的n个(二进制)位求反,x的其余各位保持不变
int invert(int x, int p,int n)
{
int start=(int)pow(2,p-1)-1;
int end=(int)pow(2,p+n-1)-1;
int res=x^(start^end);
return res;
}
要include math.h的,实现的方式其实就是和1111进行异或运算,例如
110110取反结果就是001001就是110110^111111=001001