|=和&=在C语言编程中都实现什么功能?

|=和&=在单片机用C编程中分别都实现什么做用?他们有什么不同?
例如 P3SEL|=0X30; //0x30为P3的P3.4和P3.5(从P3.0开始)
和P3SEL&=0XBF; //0xBF为P3.0~P3.5和P3.7 共7个管脚
他们分别要实现什么功能?

第1个回答  2008-04-16
|=用来给某个或某些标志位置1
&=用来给某个或某些标志位置0

short flag;
flag|=0x1;表示把最低位置1
flag&=0xfffe;表示把最低位置0本回答被提问者采纳
第2个回答  2008-04-16
|=是逻辑或,假设A|=B,如果A,B的相同位上的数都是0,结果中的这个位上就是0,否则为1

&=是逻辑与,假设A&=B,如果A,B的相同位上的数都是1,结果中的这个位上就是1,否则为0
第3个回答  2008-04-16
A|=B他等价于
A=A|B,他的意思是位运算中的按位或。
只有同位上的二进制数都为0他在这个位上的运算结果才为0,其它情况都为1。
A&=B他等价于A=A&B,他的意思是位运算中的按位与,即指有单他们同位上的二进制数都为1时,这个位上的运算结果才为1,否则全为0;
这就是他们的意思了,你自己好好理解。
相似回答