三,位操作
在STM32开发中,位操作是非常重要的技术,特别是在处理器外设寄存器的配置和控制过程中。它可以有效地提高代码的性能、可维护性和可移植性。
3.1 位操作运算符
3.1.1 按位与(&)
- 运算规则:如果两个操作数的对应位都为 1,则结果为 1;否则为 0。
- 示例:
a & b
3.1.2 按位或(|)
- 运算规则:如果两个操作数的对应位至少有一个为 1,则结果为 1;否则为 0。
- 示例:
a | b
3.1.3按位异或(^)
- 运算规则:如果两个操作数的对应位不相同,则结果为 1;相同则为 0。
- 示例:
a ^ b
3.1.4 按位取反(~)
- 运算规则:对操作数的每一位取反,即将 0 变为 1,将 1 变为 0。
- 示例:
~a
3.1.5 左移(<<)
- 运算规则:将操作数的所有位向左移动指定的位数,右侧空出的位用 0 填充。
- 示例:
a << n
(将 a 向左移动 n 位)