bitwise OR (tsz. bitwise ORs)
|
operátor végzi el a műveletet. Az OR szabálya: ha bármelyik bit 1, akkor az eredmény 1 lesz.
Ha két számot bitenként összehasonlítunk OR művelettel, az eredmény az lesz, ahol legalább az egyik bit 1.
Példa:
#include <iostream>
int main() {
int a = 5; // 0101 binárisan
int b = 3; // 0011 binárisan
int c = a | b; // Bitwise OR művelet
std::cout << c << std::endl; // Kiírja: 7
return 0;
}
Lépésenkénti lebontás:
0101 (5 decimálisan) OR 0011 (3 decimálisan) ------------ 0111 (7 decimálisan)
Mivel minden oszlopban, ahol legalább egy 1-es van, ott az eredmény is 1.
Bitműveleteket gyakran használunk konfigurációs beállításokhoz vagy jogosultságok kezeléséhez.
Példa:
const int FLAG_A = 0b0001;
const int FLAG_B = 0b0010;
int settings = FLAG_A | FLAG_B; // Mindkét flag beállítva
Egy adott bit beállítására használhatjuk OR-t.
Példa:
int mask = 0b0001;
int value = 0b0100;
value = value | mask; // 0101 lesz az új érték
A bitwise OR (|
) operátor nagyon hasznos, ha bitenként kell módosítani számokat. Különösen előnyös bitműveleteknél, például jogosultságkezelés, konfigurációk, és hardveres programozás esetén.