ตัวดำเนินการระดับบิต OR (|) เปรียบเทียบแต่ละบิตของตัวถูกดำเนินการแรกกับบิตที่สอดคล้องกันของตัวถูกดำเนินการที่สอง ถ้าบิตใดบิตหนึ่งเป็น 1 บิตผลลัพธ์ที่สอดคล้องกันจะถูกตั้งค่าเป็น 1 มิฉะนั้น บิตผลลัพธ์ที่สอดคล้องกันจะถูกตั้งค่าเป็น 0 ตัวถูกดำเนินการทั้งสองเป็นโอเปอเรเตอร์ OR รวมระดับบิต ต้องเป็นประเภทอินทิกรัล ตัวอย่างเช่น
ตัวอย่าง
#include <iostream> using namespace std; int main() { unsigned short a = 0x5555; // pattern 0101 ... unsigned short b = 0xAAAA; // pattern 1010 ... cout << hex << ( a | b ) << endl; }
ผลลัพธ์
สิ่งนี้ให้ผลลัพธ์ -
ffff