|
&是按位与(双目运算符,需要2个操作数)4 d) N& N2 c' W* D2 \8 @
|是按位或(双目运算符)# Q8 m/ c3 D5 o) ]1 f+ j
~是按位非(单目运算符)7 T* j3 q: K- G8 b
1&0=0, 0&1=0, 0&0=0, 1&1=1& c" S! R9 C/ i1 \/ V
1|0=1, 0|1=1, 0|0=0, 1|1=1
7 l3 S) K* l. @( B& g/ h/ V~1=0,~0=12 u0 R$ B* U5 b: f; B% K
a|=b等价于a=a|b;
0 s% S. t& L' d' U9 r同理a&=b等价于a=a&b
; N- J' c( U; T: z所以rINTPND |=BIT_UART0;等价于rINTPND=rINTPND | BIT_UART0* K7 d' v, j/ b6 o: s* @ L
rINTSUBMSK &= ~BIT_SUB_RXD0等价于rINTSUBMSK = rINTSUBMSK &(~BIT_SUB_RXD0)6 C. o0 X- @3 g: ~& H' o' R
按位运算就是运算的时候先将操作数换算成二进制数来进行计算
+ V/ M E, Z$ j) g+ O+ _譬如3 & 5就是011 & 101=001
( Q: H! \9 g0 ]0 q0 Q |
|