i know the mechanics behind from operator OR, but in this case why the output is 7 ? what is behind?
x = int(5)
x = x | 3
print(x)
Thanks.
or is different from |. The first one is a logical operator and is mainly used with boolean values, but the second one is called a bitwise operator. It works with the binary values of the operands.
5 = 101 in binary
3 = 011 in binary
The bitwise or i.e. | will perform an or operation of the corresponding bits (1 or 0 = 1, 0 or 1 = 1, 1 or 1 = 1) to get 111 i.e. 7
There's also bitwise and & and bitwise not ~, in case you're curious