Побитовые операции

Вводится пара двоичных числа. Выполнить над ними побитовые операции «И», «ИЛИ», «ИСКЛЮЧАЮЩЕЕ ИЛИ». Результат операций вывести на экран.

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)




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: