[#] Линейные алгоритмы
vit01(mira, 1) — All
2015-12-04 04:13:31


Вводятся два числа в двоичной системе счисления. Требуется выполнить над ними
побитовые операции И, ИЛИ и исключающего ИЛИ. В конце вывести результат
операций также в двоичном представлении.
Побитовые операции выполняются над разрядами числа. Так если имеем два числа
101 и 100, над которыми выполняется побитовая операция ИЛИ, то получим
двоичное число 101:
101
100
101
В языке программирования Python побитовые операции выполняются над числами,
представленными в десятичной системе счисления. Знаки побитовых операций: | -
ИЛИ, & - И, ^ - искл. ИЛИ.
Функция int() всегда преобразует переданную ей строку в десятичную систему
счисления. Но можно указать, в какой системе счисления содержатся данные в
этой строке (двоичной, восьмеричной, шестнадцатеричной).
Функция bin() наоборот принимает десятичное число и возвращает строку,
являющуюся представлением переданного числа в двоичном виде.
    n1 = input("Введите первое двоичное число: ")
    n2 = input("Введите второе двоичное число: ")
    n1 = int(n1,2)
    n2 = int(n2,2)
    bit_or = n1 | n2
    bit_and = n1 & n2
    bit_xor = n1 ^ n2
    print("Результат побитового OR: %10s" % bin(bit_or))
    print("Результат побитового AND: %10s" % bin(bit_and))
    print("Результат побитового XOR: %10s" % bin(bit_xor))
Результат:
    Введите первое двоичное число: 10100
    Введите второе двоичное число: 10001
    Результат побитового  OR:    0b10101
    Результат побитового AND:    0b10000
    Результат побитового XOR:      0b101