问题标题:
【编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中...编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中从第p位开始的n个(二进制)位求反,x的其余各位保持】
问题描述:
编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中...
编写一个函数invert(x,p,n),该函数返回对x执行下列操作后的结果值:x中从第p位开始的n个(二进制)位求反,x的其余各位保持不变
边文德回答:
intinvert(intx,intp,intn)
{
intstart=(int)pow(2,p-1)-1;
intend=(int)pow(2,p+n-1)-1;
intres=x^(start^end);
returnres;
}
要includemath.h的,实现的方式其实就是和1111进行异或运算,例如
110110取反结果就是001001就是110110^111111=001001
点击显示
其它推荐
热门其它推荐