how to do bitwise and of two numbers python code example

Example 1: python bitwise operators

x << y
Returns x with the bits shifted to the left by y places (and new bits on the right-hand-side are zeros). This is the same as multiplying x by 2**y.
x >> y
Returns x with the bits shifted to the right by y places. This is the same as //'ing x by 2**y.
x & y
Does a "bitwise and". Each bit of the output is 1 if the corresponding bit of x AND of y is 1, otherwise it's 0.
x | y
Does a "bitwise or". Each bit of the output is 0 if the corresponding bit of x AND of y is 0, otherwise it's 1.
~ x
Returns the complement of x - the number you get by switching each 1 for a 0 and each 0 for a 1. This is the same as -x - 1.
x ^ y
Does a "bitwise exclusive or". Each bit of the output is the same as the corresponding bit in x if that bit in y is 0, and it's the complement of the bit in x if that bit in y is 1.

Example 2: write a program to input a number and display its double and half values using shift operator in python

# Write a program to input a number and display its Double and Half values using SHIFT operator.

print("Hi \nThis is a basic calculator \nwhich doubles or divides into half the value entered in it")
i = int(input("pls enter your number:\n"))
print("what do you want to do? \nwarning: \nenter only the alphabet of the option and no symbols.")
print("you can enter both the options alphabet to get both the values")
print("This program gives and takes only integer value of double, half and input")
opt = input("options:- \na.double\nb.half\n")
if opt == "a":
    j = i << 1
    print("double", j)
elif opt == "b":
    k = i >> 1
    print("half:", k)
elif opt == "ab" or opt == "a b" or opt == "ba" or opt == "b a" or opt == " ab" or opt == "ab " or opt == " ab " or opt == " a b" or opt == "a b " or opt == " a b ":
    j = i << 1
    k = i >> 1
    print("number:", i)
    print("double:", j)
    print("half:", k)
else:
    print("inputs are wrong")
    exit()