unsigned char x = 0x1C;
unsigned char y = 0x95;
In binary x's value: 00011100
y's value: 10010101
---------- ---------
x | y : 10011101
In hex x's value: 0x1C
y's value: 0x95
--------- --
x | y 0x9D
(In decimal, x | y = 157.)
The | operation is performed on each bit position k of its operands to
produce the bit value in the k-th position of the result. The result
bit is determined by the table
right bit
0 1
------
left bit 0| 0 1
1| 1 1