Что нужно знать о побитовых операторах Python? [Поясняется с примерами]

Опубликовано: 2021-10-06

Компьютерные системы представляют, хранят и передают данные в виде потока двоичных цифр, называемых битами. «Двоичный» означает, что может быть только два возможных значения, 0 и 1, и каждая такая двоичная цифра известна как «бит». Независимо от того, работаете ли вы с текстом, десятичными числами, изображениями, звуками или видео, компьютерное программное обеспечение преобразует информацию в двоичный код, состоящий из нулей и единиц. Двоичная информация, которую часто называют машинным языком, представляет собой наиболее фундаментальный уровень информации, хранящейся в компьютерной системе.

Побитовые операторы в Python позволяют нам манипулировать отдельными битами данных на самом базовом уровне. Другими словами, побитовые операторы в Python используются для выполнения побитовых вычислений над целыми значениями. Таким образом, целые значения сначала преобразуются в двоичную форму, а затем выполняются побитовые операции. После выполнения «побитовых операций» результаты возвращаются в десятичном формате. Побитовые операторы в Python работают только с целыми числами. Повышение квалификации с помощью программ по науке о данных поможет вам преодолеть трудности. Давайте поговорим подробнее о интеллектуальном анализе текста.

Теперь давайте более подробно рассмотрим побитовые операторы Python, их типы, принципы их работы и примеры.

Оглавление

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

Python включает шесть операторов для выполнения побитовых логических операций с целыми числами.

Ниже приведены различные побитовые операторы в Python с их синтаксисом и описанием того, что каждый из них делает.

Оператор

Синтаксис

Описание

Побитовое И

а и б

Оператор возвращает 1, если оба бита в операндах равны 1. В противном случае возвращает 0.

Побитовое ИЛИ

а | б

Оператор возвращает 1, если один из битов операндов равен 1. В противном случае возвращает 0.

Побитовое НЕ

~ а

Унарный побитовый оператор, выполняющий логическое отрицание заданного числа путем перестановки всех его битов. Арифметически это выражается как вычитание значений отдельных битов из единицы (~ai = 1 – ai).

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

а ^ б

Оператор возвращает 1, если битовая пара содержит противоположные битовые значения. Иначе возвращает 0.

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

<<

Оператор сдвигает биты своего первого операнда влево на количество позиций, определенное во втором операнде. Кроме того, оператор добавляет достаточное количество нулей, чтобы заполнить пробел, который образуется с правой стороны нового битового шаблона.

Побитовый сдвиг вправо

а >>

Оператор сдвигает биты вправо на указанное количество позиций. Таким образом, самые правые биты всегда отбрасываются.

Побитовые операторы в Python с примерами

Имея в виду базовое описание каждого побитового оператора, давайте рассмотрим несколько примеров, чтобы прояснить концепцию.

1. Побитовое И (&)

Возвращает 1, если оба бита равны 1. В противном случае возвращает 0.

  • Пример №1

а = 24 = 11000 (Двоичный)

б = 4 = 00100 (Двоичный)

а и б = 11000

&

00100

= 00000

= 0 (десятичный)

  • Пример #2

а = 10 = 1010 (Двоичный)

б = 2 = 0010 (Двоичный)

а и б = 1010

&

0010

= 0010

= 2 (десятичное)

2. Побитовое ИЛИ ( | )

Возвращает 1, если любой из битов равен 1. В противном случае возвращает 0.

  • Пример №1

а = 67 = 1000011 (Двоичный)

б = 54 = 0110110 (Двоичный)

а | б = 1000011

|

0110110

= 1110111

= 119 (десятичное)

  • Пример #2

а = 6 = 000110 (Двоичный)

б = 34 = 100010 (Двоичный)

а | б = 000110

|

100010

= 100110

= 38 (десятичное)

3. Побитовое НЕ (~)

Возвращает дополнение бита до 1 (инвертирует бит).

  • Пример №1

а = 60 = 111100 (Двоичный)

~а = ~111100

= 000011

= 3 (десятичное)

  • Пример #2

а = 33 = 100001 (Двоичный)

~ а = ~ 100001

= 011110

= 30 (десятичное)

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

Возвращает 1, если оба бита имеют противоположные значения. Иначе возвращает 0.

  • Пример №1

а = 61 = 0111101 (Двоичный)

б = 90 = 1011010 (Двоичный)

а ^ б = 0111101

^

1011010

= 1100111

= 103 (десятичное)

  • Пример #2

а = 2 = 000010 (Двоичный)

б = 55 = 110111 (Двоичный)

а ^ б = 000010

^

110111

= 110101

= 53 (десятичное)

5. Побитовый сдвиг влево (<<)

Сдвигает биты влево и заполняет пробелы, образованные справа, 0.

  • Пример №1

а = 39 = 100111 (Двоичный)

а << 1 = 1001110 = 78 (десятичное число)

а << 2 = 10011100 = 156 (десятичное число)

а << 3 = 100111000 = 312 (десятичное число)

  • Пример #2

б = 74 = 1001010 (Двоичный)

б << 1 = 10010100 = 148 (десятичное число)

б << 2 = 100101000 = 296 (десятичное число)

б << 3 = 1001010000 = 592 (десятичное число)

6. Побитовое правильное дерьмо (>>)

Сдвигает биты вправо и заполняет промежутки, образованные слева, 0.

  • Пример №1

а = 157 = 10011101 (Двоичный)

а >> 1 = 1001110 = 78 (десятичное число)

а >> 2 = 100111 = 39 (десятичное число)

а >> 3 = 10011 = 19 (десятичное число)

  • Пример #2

б = 89 = 1011001 (Двоичный)

б >> 1 = 101100 = 44 (десятичное число)

б >> 2 = 010110 = 22 (десятичное число)

б >> 3 = 001011 = 11 (десятичное число)

Побитовые операторы в Python (примеры с кодом)

Ниже приведены несколько простых фрагментов кода, иллюстрирующих побитовые операторы в Python:

1. Побитовое И, ИЛИ, НЕ и исключающее ИЛИ

Источник

Источник

2. Операторы побитового сдвига

Источник

Источник

Путь вперед: овладейте навыками Python с помощью программы профессионального сертификата upGrad в области науки о данных

Вы начинающий бизнес-менеджер и почти не имеете опыта программирования? Тогда upGrad предоставит вам программу профессиональных сертификатов в области науки о данных для принятия бизнес-решений.

Программа профессиональных сертификатов в области науки о данных специально разработана для менеджеров и работающих специалистов, которые хотят развить навыки и практические знания в области фундаментальной науки о данных. Строгая 8-месячная онлайн-программа посвящена проблемам науки о данных, алгоритмам и тому, как данные могут быть представлены для принятия важных бизнес-решений. Учебный план охватывает следующие курсы:

  • Предпрограммный подготовительный контент
  • Решение бизнес-проблем, инсайты и рассказывание историй
  • Статистика и машинное обучение
  • Стратегия
  • Замковый проект
  • Введение в Python (дополнительный модуль)

Рассмотрим основные моменты программы:

  • Всемирно признанная сертификация от IIM Kozhikode
  • Более 200 часов контента, более 20 учебных занятий в режиме реального времени, более 5 коуч-сессий с экспертами
  • 3 отраслевых проекта и замковый камень
  • Всесторонний охват Excel, Python, Tableau, R и Power BI
  • Карьерная поддержка на 360 градусов
  • Один на один с отраслевыми наставниками
  • Помощь в трудоустройстве с ведущими фирмами
  • Возможности для отраслевых сетей

Заключение

Python — это мощный, универсальный и простой в использовании язык программирования, что делает его популярным выбором как среди экспертов, так и среди новичков. Кроме того, Python по-прежнему является предпочтительным языком программирования среди разработчиков из-за его высокой эффективности, универсальности, надежности и скорости. Его можно использовать практически во всех средах и платформах без существенной потери производительности. Кроме того, Python обеспечивает большую часть рабочих нагрузок по обработке данных во многих организациях. Простота анализа данных, которую предлагает Python, делает его полезным для многих приложений, включая проекты машинного обучения.

Python, несомненно, удобен для решения критически важных бизнес-процессов, поскольку он формирует фундаментальный аспект науки о данных. Кроме того, поскольку большие данные расширяются и все больше и больше предприятий сосредотачиваются на принятии решений на основе данных, важность Python нельзя недооценивать. Итак, если вы хотите освоить Python и применить свои навыки в бизнес-сценариях, основанных на данных, зарегистрируйтесь в upGrad , чтобы учиться у лучших в отрасли!

Для чего используются побитовые операторы?

Побитовые операторы в Python используются для выполнения побитовых вычислений над целыми значениями. Для этого целые числа сначала преобразуются в двоичные, а затем над ними, побитно, выполняются различные операции, возвращая результат в десятичном формате. В Python побитовые операторы можно использовать только с целыми числами.

Быстры ли побитовые операторы?

На простом недорогом процессоре побитовые операции обычно выполняются быстрее, чем деление, умножение, и часто значительно быстрее, чем сложение. Как правило, побитовые операторы используют меньше ресурсов и, следовательно, потребляют значительно меньше энергии.

Для чего используются логические операторы в Python?

В Python есть три логических оператора, которые позволяют сравнивать значения. Три логических оператора AND, OR и NOT преобразуют выражения в логические значения и возвращают True или False в зависимости от результата оператора. Ниже приведены три логических оператора в Python:

1. AND ( a и b): Истинно, если оба выражения верны.
2. ИЛИ (a или b): Истинно, если истинно хотя бы одно выражение.
3. НЕ (не а): Истинно, только если выражение ложно