|

Descrição

O operador bitwise OU em C++ é o caractere barra vertical, |. Da mesma forma que o operador &, | opera independentemente em cada bit dos dois operandos, mas seu propósito é diferente (duh!). O resultado da operação OU entre dois bits é 1 se qualquer um ou ambos os bits de entrada são 1, do contrário é 0.

Explicado de outra forma:

0 0 1 1 operando1 0 1 0 1 operando2 ---------- 0 1 1 1 (operando1 | operando2) - resultado retornado

Código de Exemplo

int a = 92; // em binário: 0000000001011100 int b = 101; // em binário: 0000000001100101 int c = a | b; // resultado: 0000000001111101, ou 125 em decimal.

Um dos usos mais comuns do OU bit-a-bit é "setar" um ou mais bits em um valor.

// Nota: Esse código é específico para a arquitetura AVR // configura os bits de direção para os pinos 2 a 7, deixa 0 e 1 intocados (xx | 00 == xx) // Equivale a pinMode(pino, OUTPUT) para os pinos 2 a 7 no Arduino Uno ou Nano DDRD = DDRD | B11111100; // o mesmo que pinMode(pino, OUTPUT) para os pinos 2 a 7

Ver Também

Linguagem : || OU lógico

Exemplo : Tutorial BitMath (Em Inglês)

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.