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
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