目录
1、&(按位与)
操作用法:有0为0,全1为1。
2、|(按位或)
操作用法:有1为1,全0为0。
3、^(按位异或)
操作用法:1、相同为0,相异为1。
2、两个相同的数异或为0。
3、任意一个数与0异或都是这个数本身。
4、>>(右移操作符)
操作用法:
- 算术右移:右边丢弃,左边补原符号位(考虑符号位)。
- 逻辑右移:右边丢弃,左边补0(不考虑符号位)。
- >>一位相当于除以一个2(结果取整)
5、<<(左移操作符)
操作用法:
- 左边丢弃,右边补0。
- <<一位相当于乘以一个2
一个位运算应用例题:
//不使用第三个变量交换两个变量的值
int main()
{
int a = 5;//101
int b = 3;//011
printf("交换前a=%d,b=%d\n", a, b);
a = a ^ b;//110
b = a ^ b;//101
a = a ^ b;//011
printf("交换后a=%d,b=%d", a, b);
}