按位与 &
- 快速清零
int a=0x0001;
a&=0; //a : 0x0000
- 保留指定位
int a=0x0111;
int b=0x0010;
a=a&b; //a : 0x0010
- 判断奇偶
int a=2;
int b=3;
//与1按位与
a=a&1; // a: 0 偶数值为0
b=a&1; //b : 1 奇数值为1
按位或 |
设定指定位的数据
int a=0x0001;
int b=0x0010;
int c=a|b; //c: 0x0011
按位异或
- 给某一位取反
int a=0x0100;
int b=0x0010;
int c=a^b; //c: 0x0110
- 交换数值
a=a^b;
b=b^a;
a=a^b;
左移 右移
左移 相当于 原值*2的N次
右移 相当于 原值/2的N次
其他的一些用法 可以
参考这篇博客