n1 = input("Binary n1: ")
n2 = input("Binary n2: ")
print()
# Строки n1 и n2 преобразуются в десятичные
# числа, т. к. побитовые операции можно
# выполнять только с числами. В то время как
# двоичное представление числа - это строка.
n1 = int(n1, 2)
n2 = int(n2, 2)
# В памяти компьютера двоичные операции
# выполняются над битами чисел, хотя в
# качестве операндов мы указываем
# десятичные числа. Также в качестве
# результата получаем десятичное число.
bit_or = n1 | n2 # | - побитовое ИЛИ
bit_and = n1 & n2 # & - побитовое И
bit_xor = n1 ^ n2 # ^ - ИСКЛЮЧАЮЩЕЕ ИЛИ
# Функция bin() переводит десятичное число
# в двоичное, которое является строкой,
# первые два символа которой '0b'.
bit_or = bin(bit_or)
bit_and = bin(bit_and)
bit_xor = bin(bit_xor)
print(" n1: %10s" % bin(n1))
print(" n2: %10s" % bin(n2))
print(" ------------")
print(" OR: %10s" % bit_or)
print("AND: %10s" % bit_and)
print("XOR: %10s" % bit_xor)
Binary n1: 1011
Binary n2: 1000110
n1: 0b1011
n2: 0b1000110
------------
OR: 0b1001111
AND: 0b10
XOR: 0b1001101
с вашего сайта.