[!按位或] 符号:| 运算规则:两个二进制位中,只要有一个为 1,结果就为 1;两个都为 0 时,结果才为 0

实际应用场景

  1. 组合多字节数据

    uint8_t high = 0x12;  // 高8位:00010010
    uint8_t low = 0x34;   // 低8位:00110100
    uint16_t combined = (high << 8) | low;  // 结果:00010010 00110100 → 0x1234
  2. 设置特定位为 1

    uint8_t value = 0x00;  // 00000000
    value |= (1 << 3);     // 00001000(第3位被设置为1)
  3. 判断某些位是否为 1

    uint8_t data = 0xA5; // 10100101 
    if (data & 0xF0) 
    { 
    	// 0xF0是11110000,按位与后若不为0,说明高4位有1 // 高4位至少有一位为1 
    }