| (OU bit a bit)

resultado = a | b

O | faz a operação OU em cada par de bits: o bit do resultado fica 1 se pelo menos um dos lados for 1. Na prática, ele serve pra ligar (setar) bits sem mexer nos outros — muito usado pra montar flags e configurar registradores.

Sintaxe

resultado = a | b;

Parâmetros

  • a, b: os dois valores inteiros cujos bits serão combinados.

Retorno

Um inteiro em que cada bit vale 1 quando o bit correspondente de a ou de b (ou ambos) vale 1.

Exemplo

void setup() {
  Serial.begin(9600);

  byte flags = 0b00000001;

  // liga o bit 2 sem apagar os outros
  flags = flags | 0b00000100; // 0b00000101 = 5
  Serial.println(flags);
}

void loop() {}

Notas e cuidados

  • Use | pra ligar bits e & (com máscara invertida) pra desligar; são a dupla clássica.
  • Não troque por || (OU lógico), que trabalha só com verdadeiro/falso.
  • O atalho flags |= 0b00000100; faz a mesma coisa de forma mais curta.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker