第1个回答 2021-02-16
第一、C语言中异或运算符为^,顾名思义就是不同为1,相同为0;具体就是0^0等于0,1^1等于0,0^1等于1,1^0等于1;
第二、异或运算的用途:First:可以是使一个数中的某些特定位进行翻转;例如对整数10100001(即整数161在进行位运算过程中,是以补码的形式操作的)中的第1位和第3位进行翻转(最低位【即权值最小,即最右侧】),用00000111与其做异或运算即可;Second:可以实现两个值的交换,而不需要借助temp,如 int a=12,b=161; a=a^b;b=b^a;a=a^b;进行操作后,a=161,b=12;Third:a=a^b^b;进行这波操作后a还是原来的a;
第三、谢谢各位看官,初来乍到,多多支持(点赞)
第2个回答 2008-09-16
1:“按位与”运算符(&)用法是如果两个相应的二进制位都为1,则该位的结果值为1否则为0。0&0=0,1&0=0,1&1=1
2:“按位或”运算符(|)用法是如果两个相应的二进制位有一个为1,则该位的结果值为1否则为0。0&0=0,1&0=0,1&1=1
0,1&0=1,1&1=1
3:“异或”运算符(^)用法是如果两个相应的二进制位为同号,则该位的结果值为1否则为0。0&0=1,1&0=0,1&1=1本回答被提问者采纳
第3个回答 2017-09-08
1:“按位与”运算符(&)全1为1,有0则0。0&0=0,1&0=0,1&1=1
2:“按位或”运算符(|)有1则1,全0则0。0|0=0,1|0=1, 1|1=1
3:“异或”运算符(^)相同为0,不同为1。0^0=0,1^0=1,1^1=0本回答被网友采纳
第4个回答 2008-09-16
C语言中^为按位异或运算符,若两个二进制位相同,则结果为0,不同为1
#include "stdio.h"
main()
{
int a=6,b=10,c;
c=a^b;
printf("%d",c);
}
函数输出结果为12
将6和10分别转换为2进制数为0110(前边补了个0)和1010。然后按照定义进行异或运算
0110 a
1010 b
1100 a和b最左边第一位和第二位不相同,所以分别为1,第三位和第四位相同,所以分别为0
二进制数1100转换为10进制数,结果是12。