C++中异或的使用例题?

2025-02-23 23:57:55
推荐回答(3个)
回答1:

这是要将什么数据的第一个字节的位(bit)全部反转(提示:使用^运算符)?
以下的代码段能将一个int 的第一个字节全部反转:
int x;
scanf("%d",&x);
x=x^0xff000000;

回答2:

//以下函数能将任意基本整数类型的第一个字节全部反转
template
inline _T reverse(_T a) {
return a ^ ((~(_T(0))) << ((sizeof(_T) - 1) * 8));
}

回答3:

#include

void main() { unsigned int a; scanf("%u",&a); a^=0x0ff; printf("%x\n",a); }

与0异或得到的值不变,与1异或取反,因此变量中的数与低8位均为1的数异或可以满足题目要求。