位运算是指二进制之间的运算。在嵌入式系统设计中,常常要处理二进制的问题,如将某个寄存器的某一位置1或置0,将数据左移5位等。常用的位运算符如图所示。
按位与运算符(&)
**按位与运算规则:**参加运算的两个操作数,每个二进制位进行“与”的运算,如果两位都是1,则运算结果为1,否则为0.
例: 1001&1011运算过程如图所示。
但仅仅知道上述运算规则是远远不够的,在STM32系列处理器的开发过程中,按位与运算主要是用来清除某一位,或者说主要用来实现清零。
按位或运算符(|)
按位或运算符的规则: 参加运算的两个操作数,每个二进制位进行“或”运算,如果两位都是0,则运算结果也为0,否则为1。
例: 1000|1010运算过程如图所示。