&:与运算,相同位的两个数字都是1,就是1;有一个不是1,就是0;
|:或运算,相同位一个是1,就是1;
~:取反,0为1,1为0;
^:异或,相同为1,不同为0;
<<:左移,左移几位补几个0;
>>:右移,右移几位补几个符号位的值
用异或的方式实现数的交换:
#include<stdio.h>int main()
{int a = 1;int b = 2;a = a ^ b;b = a ^ b;a = a ^ b;return 0;
}
&:与运算,相同位的两个数字都是1,就是1;有一个不是1,就是0;
|:或运算,相同位一个是1,就是1;
~:取反,0为1,1为0;
^:异或,相同为1,不同为0;
<<:左移,左移几位补几个0;
>>:右移,右移几位补几个符号位的值
用异或的方式实现数的交换:
#include<stdio.h>int main()
{int a = 1;int b = 2;a = a ^ b;b = a ^ b;a = a ^ b;return 0;
}