您的位置:首页 > 其它

利用位操作符实现两个整数的交换

2016-09-25 15:13 218 查看
位操作符包括:&(按位与),|(按位或),^(按位异或),位操作符针对每个数的二进制位进行操作。

利用位操作符实现两个整数的交换,先来举例说明:

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: