1. 异或
1.与1异或,可以使特定位翻转, 2.与0异或,保留其值 3.交换两值,不使用临时变量。a=a^b;b=b^a;a=a^b;
2. 与 或
1. 将一标志位置1:
int mask = 0;
int a = 2;
int mask |= a;
2. 判断标志位是否被置位:
mask &= a;
if(mask)
return true;
else
return false;
3.去掉一个标志位:
int mask = 0;
int a = 8;
int b = 4;
mask |= a;
mask |= b;
mask &= ~a;