位操作符包括:&(按位与),|(按位或),^(按位异或),位操作符针对每个数的二进制位进行操作。
利用位操作符实现两个整数的交换,先来举例说明:
int a=5;
int b=8;
低四位二进制表示 a 0 1 0 1
b 1 0 0 0
a^b -----------------
1 1 0 1
b 1 0 0 0
a^b^b -----------------
0 1 0 1 (a)
从例子中可以看出: a^b^b=a;
所以通过(按位异或操作符)可以实现两个整数的交换
代码实现如下:
int main()
{
int i = 2;
int j = 3;
i = i^j;
j = i^j;
i = i^j;
printf("%d %d\n", i, j);
system("pause");
return 0;
}