嵌入式C学习之位运算
初步学习,稍微简单总结
一、位与 &
1、与运算中,a &= b,a与b按位“与”运算,结果赋值给a,即a = a & b。
2、1与无变化,与0与变成0,只有1&1才等于1,其余1&0、0&1、0&0都为0(也就是说可以这么操作:让一个变量的值变成0的话,使用 &上0 例如 i&=0。一般用在复位,即清零)
二、位或 |
1、或运算中,a |= b,a和b 按位”或“运算,结果赋值给a,即a = a | b
2、与1或变成1,与0或无变化,只有0&0才等于0,其余1&0、0&1、1&1都为1(|= 一般用在置位,即置1,1的位置1,0的位保持不变)
三、位异或 ^
(1) 0异或任何数=任何数
例如:0^0=0;0^1=1
(2) 1异或任何数=任何数取反
例如: 1^0=1,1^1=0
(