首页 > 其他 > 详细

^   按位异或(XOR)

时间:2015-10-21 00:27:02      阅读:335      评论:0      收藏:0      [点我收藏+]

按位异或运算符(^):在二进制中,当两个操作数的对应位相同时置0,否则为1。例如:


a:0111 1010   b:0101 1010    a^b=0010 0000;


题1.编写程序,交换两个数的内容,要求:创建临时变量。


#include<stdio.h>

int main()

{

int a;                  

        int b;  

int temp;

   scanf("%d%d",&a,&b); 

   temp=a;

   a=b;

   b=temp;

   printf("a=%d,b=%d\n",a,b);

  return 0;

}

输入:10 8

结果:a=8 b=10


题2.编写程序,交换两个数的内容,要求:不创建临时变量(使用异或运算)。

#include<stdio.h>

int main()

{

int a;                     //10=1011

int b;                    // 8=1000 

scanf("%d%d",&a,&b); 

a=a^b;                   //a=0011

b=b^a;                   //b=1011

a=a^b;                   //a=1000

printf("a=%d,b=%d\n",a,b);

return 0;

}

输入:10 8

结果:a=8 b=10


^   按位异或(XOR)

原文:http://19940325.blog.51cto.com/10789287/1704680

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!