| (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.