2的N次方的&和|运算

自上学起,&和|的逻辑运算我就总记混,工作中也很少主动去用,结果导致现在遇到大量用这俩运算的代码,就头疼了,思前想后,决定还是死记硬背,说什么也要先记牢了再说

或运算 |
只要有1,结果就是1

与运算 &
只有两位都是1,结果才是1

a = 1<<0
b = 1<<1
c = 1<<2
d = 1<<3
e = 1<<4
f = 1<<5

a = 1;
b = 2;
c = 4;
d = 8;
e = 16;
f = 32;

a | b = 3;
a | c = 5;
a | d = 9;
a | e = 17;
a | f = 33;
b | c = 6;
b | d = 10;
b | e = 18;
b | f = 34;

所以
2的N次方的 | 运算相当于加法

a & b = 0 …
2的N次方的 & 运算都是0.

不明白自己为什么这么简单的东西会总忘呢。。。

你可能感兴趣的:(位运算)