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

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


Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий