^ 按位异或(XOR)
2015-10-20 21:35
246 查看
按位异或运算符(^):在二进制中,当两个操作数的对应位相同时置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
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
相关文章推荐
- mysql binlog二进制日志详解
- 详解C++编程中对二进制文件的读写操作
- 整理C# 二进制,十进制,十六进制 互转
- PHP中return 和 exit 、break和contiue 区别与用法
- c#二进制逆序方法详解
- JS幻想 读取二进制文件第1/2页
- 使用jscript实现二进制读写脚本代码
- 浅析return false的正确使用
- C#二进制序列化实例分析
- js怎么终止程序return不行换jfslk
- PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
- javascript 二进制运算技巧解析
- 如何判断一个整数的二进制中有多少个1
- MSSQL 将截断字符串或二进制数据问题的解决方法
- 二进制中1的个数
- 解析php中die(),exit(),return的区别
- C++ 十进制转换为二进制的实例代码
- C语言十进制转二进制代码实例
- c语言中return与exit的区别浅析
- C++二进制翻转实例分析