位操作

位操作均需以二进制方式进行(进制转换烂熟于心的请忽略)

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;

posted @ 2016-04-15 10:40  叫我大哥哥  阅读(153)  评论(0编辑  收藏  举报