Что такое битовые операции в Python? Руководство для начинающих

Битовые операции в Python

Битовые операции в Python позволяют работать с индивидуальными битами чисел. Эти операции манипулируют битами в двоичном представлении чисел.

Вот некоторые основные битовые операции в Python:

1. Побитовое И (AND): Побитовое И (&) возвращает единицу, если оба соответствующих бита равны единице.

a = 5 # двоичное представление: 0b101
b = 3 # двоичное представление: 0b011

result = a & b
print(result) # Выводит: 1

2. Побитовое ИЛИ (OR): Побитовое ИЛИ (|) возвращает единицу, если хотя бы один из соответствующих битов равен единице.

a = 5 # двоичное представление: 0b101
b = 3 # двоичное представление: 0b011

result = a | b
print(result) # Выводит: 7

3. Побитовое исключающее ИЛИ (XOR): Побитовое исключающее ИЛИ (^) возвращает единицу, если только один из соответствующих битов равен единице, а остальные равны нулю.

a = 5 # двоичное представление: 0b101
b = 3 # двоичное представление: 0b011

result = a ^ b
print(result) # Выводит: 6

4. Побитовый сдвиг влево (Left Shift): Побитовый сдвиг влево (<<) сдвигает биты числа на указанное количество позиций влево.

a = 5 # двоичное представление: 0b101

result = a << 2 # Сдвигаем на 2 позиции влево
print(result) # Выводит: 20

5. Побитовый сдвиг вправо (Right Shift): Побитовый сдвиг вправо (>>) сдвигает биты числа на указанное количество позиций вправо.

a = 5 # двоичное представление: 0b101

result = a >> 1 # Сдвигаем на 1 позицию вправо
print(result) # Выводит: 2

Это лишь некоторые примеры битовых операций в Python. Битовые операции могут быть полезными при работе с бинарными данными и флагами.

Детальный ответ

Что такое битовые операции в Python?

Битовые операции - это операции, которые выполняются над отдельными битами чисел. Они позволяют манипулировать битами напрямую и выполнять различные операции, такие как побитовое И (AND), побитовое ИЛИ (OR), побитовое исключающее ИЛИ (XOR), побитовый сдвиг и инверсия битов.

Побитовое И (AND)

Оператор побитового И обозначается символом "&". Он выполняет логическое "И" между соответствующими битами двух чисел. Результатом операции будет число, в котором каждый бит будет равен 1 только в том случае, если оба соответствующих бита в исходных числах равны 1. Давайте рассмотрим пример:

        
            a = 5    # Бинарное представление: 101
            b = 3    # Бинарное представление: 011

            result = a & b
            print(result)    # Вывод: 1
        
    

В данном примере, побитовое И между числами 5 (101) и 3 (011) дает результат 1 (001), так как только первый бит в исходных числах равен 1.

Побитовое ИЛИ (OR)

Оператор побитового ИЛИ обозначается символом "|". Он выполняет логическое "ИЛИ" между соответствующими битами двух чисел. Результатом операции будет число, в котором каждый бит будет равен 1, если хотя бы один из соответствующих битов в исходных числах равен 1. Пример:

        
            a = 5    # Бинарное представление: 101
            b = 3    # Бинарное представление: 011

            result = a | b
            print(result)    # Вывод: 7
        
    

В данном примере, побитовое ИЛИ между числами 5 (101) и 3 (011) дает результат 7 (111), так как каждый бит в исходных числах равен 1, за исключением второго бита в числе 3.

Побитовое исключающее ИЛИ (XOR)

Оператор побитового исключающего ИЛИ обозначается символом "^". Он выполняет операцию, в результате которой каждый бит будет равен 1, только если один из соответствующих битов в исходных числах равен 1, но не оба. Пример:

        
            a = 5    # Бинарное представление: 101
            b = 3    # Бинарное представление: 011

            result = a ^ b
            print(result)    # Вывод: 6
        
    

В данном примере, побитовое исключающее ИЛИ между числами 5 (101) и 3 (011) дает результат 6 (110), так как только второй бит в числе 5 равен 1, в то время как первый и третий биты равны 0 в обоих числах.

Побитовый сдвиг

Побитовый сдвиг позволяет сдвигать биты числа влево или вправо на заданное количество позиций. Для побитового сдвига влево используется оператор "<<" и для побитового сдвига вправо - ">>". Пример побитового сдвига влево:

        
            a = 5    # Бинарное представление: 101

            result = a << 2
            print(result)    # Вывод: 20
        
    

В данном примере, побитовый сдвиг влево на 2 позиции числа 5 (101) дает результат 20 (10100).

Инверсия битов

Инверсия битов выполняется с помощью оператора "~". Он заменяет каждый бит числа на противоположный (0 на 1 и 1 на 0). Пример:

        
            a = 5    # Бинарное представление: 101

            result = ~a
            print(result)    # Вывод: -6
        
    

В данном примере, инверсия битов числа 5 (101) дает результат -6 (11111111111111111111111111111010) в двоичной форме. Заметьте, что результат выводится в отрицательной форме, так как число представлено в дополнительном коде.

Заключение

В этой статье мы рассмотрели, что такое битовые операции в Python и как их использовать. Битовые операции позволяют нам манипулировать отдельными битами чисел и выполнять различные операции, такие как побитовое И, побитовое ИЛИ, побитовое исключающее ИЛИ, побитовый сдвиг и инверсия битов. Надеюсь, эта статья была полезной и помогла вам лучше понять битовые операции в Python.

Видео по теме

#64. Битовые операции И, ИЛИ, НЕ, XOR. Сдвиговые операторы | Python для начинающих

КАК РАБОТАТЬ С БИТАМИ | ОСНОВЫ ПРОГРАММИРОВАНИЯ

7.3 Побитовые операторы ( &,|,^,~ ). Основы Python

Похожие статьи:

Руководство по присваиванию значения переменной в Python

Как зашифровать текст в двоичный код Python: пошаговое руководство для начинающих

Как создать бота для WhatsApp на Python: подробное руководство для начинающих

Что такое битовые операции в Python? Руководство для начинающих

🔍 Как уменьшить размер кода python и сделать его более эффективным?

🗺️ Как сделать карту на Python: подробное руководство с примерами и кодом

Как изменить размер текста в QLabel Python?