一、按位与( & ) :两位全为1,结果才为1
基本运算 : 1&1=1; 1&0=0; 0&1=0; 0&0=0;
e.g.
51 & 5 = 0011 0011 & 0000 0101 = 0000 0001 = 1
特殊用法:
(1)清零:与0,结果为0;与1,不变
1011 0101 & 0000 1111 = 0000 0101 //高四位与0结果为0;低四位与1结果不变。
(2)取一个数的指定位。比如取(0101 1011)的高四位,只需与上(1111 0000)。
0101 1011 & 1111 0000 = 0101 0000 //保留高四位,清除低四位。
二、按位或( | ) :有一位为1,结果就是1
基本运算 : 1|1=1; 1|0=1; 0|1=1; 0&0=0;
e.g.
51 | 5 = 0011 0011 | 0000 0101 = 0011 0111 = 55
特殊用法:
(1)置1:对某些位 置1。或0,不变,或1,结果就为1。
1011 0101 | 0000 1111 = 1011