[!按位或] 符号:
|运算规则:两个二进制位中,只要有一个为 1,结果就为 1;两个都为 0 时,结果才为 0。
实际应用场景
-
组合多字节数据
uint8_t high = 0x12; // 高8位:00010010 uint8_t low = 0x34; // 低8位:00110100 uint16_t combined = (high << 8) | low; // 结果:00010010 00110100 → 0x1234 -
设置特定位为 1
uint8_t value = 0x00; // 00000000 value |= (1 << 3); // 00001000(第3位被设置为1) -
判断某些位是否为 1
uint8_t data = 0xA5; // 10100101 if (data & 0xF0) { // 0xF0是11110000,按位与后若不为0,说明高4位有1 // 高4位至少有一位为1 }