位操作均需以二进制方式进行(进制转换烂熟于心的请忽略)
int a=ox0;
按位取反
~a=oxffff; 左移 << 相当于*2(*10(二进制))x<<i 相当于x*2^i (*10^i(二进制)) 右移 >> 相当于/2(/10(二进制))x>>i 相当于x/2^i (/10^i(二进制))与操作 &
A&0 ->0
A&1->A或操作|
A|0->A
A|1->1异或操作^
0^0=0,1^1=0,0^1=1
通过位操作进行两个数据的交换:a=a^b;b=a^b;a=a^b;