|
&是按位与(双目运算符,需要2个操作数)& z, `3 V }2 w7 v7 v$ @2 e$ V- U
|是按位或(双目运算符), g6 ~% i3 o8 R& i2 l% ~& F/ h( m- L* Q
~是按位非(单目运算符)2 p9 }! ? T+ q! [! F* |
1&0=0, 0&1=0, 0&0=0, 1&1=1
' P: I( E$ ?+ v8 v2 F7 e) k; {6 g1|0=1, 0|1=1, 0|0=0, 1|1=1
# K% b f1 U2 Q! Y~1=0,~0=1
1 i5 y1 \6 f& X0 F7 h# F+ Ta|=b等价于a=a|b;
( g L' R; n- b1 |! q1 e f同理a&=b等价于a=a&b
9 O2 W+ }8 z, ~: m$ M所以rINTPND |=BIT_UART0;等价于rINTPND=rINTPND | BIT_UART09 a3 c& O0 M; }8 `
rINTSUBMSK &= ~BIT_SUB_RXD0等价于rINTSUBMSK = rINTSUBMSK &(~BIT_SUB_RXD0)
* q3 \9 ~- d ^! K- |$ q" U按位运算就是运算的时候先将操作数换算成二进制数来进行计算
0 ]- D2 i# O+ b/ k4 T& Q譬如3 & 5就是011 & 101=001
# {7 O" o( v2 k( f' K5 E! H9 _ |
|