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

Опубликовано: 2022-09-11

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

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

Оглавление

Обзор побитовых операторов Python

Побитовые операторы выглядят одинаково в разных языках программирования. Python поставляется с различными типами операторов, такими как арифметические, логические и операторы сравнения.

Оператор Пример Значение
& а и б Побитовое И
| а | б Побитовое ИЛИ
^ а ^ б Побитовое XOR (исключающее ИЛИ)
~ ~ а Побитовое НЕ
<< а << п Побитовый сдвиг влево
>> а >> н Побитовый сдвиг вправо

Большинство побитовых операторов являются бинарными, а это означает, что для работы им нужны два операнда, обычно называемые левым и правым операндом. Побитовое НЕ (~) — единственный унарный побитовый оператор, поскольку для него требуется только один операнд.

Изучите наши популярные курсы по науке о данных

Высшая программа высшего образования в области науки о данных от IIITB Программа профессиональных сертификатов в области науки о данных для принятия бизнес-решений Магистр наук в области науки о данных Университета Аризоны
Расширенная сертификационная программа в области науки о данных от IIITB Профессиональная сертификационная программа в области науки о данных и бизнес-аналитики Университета Мэриленда. Курсы по науке о данных

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

Побитовые операторы — это один из типов операторов, используемых для выполнения побитовых вычислений над целыми числами. Целые числа сначала преобразуются в двоичные, а затем операции выполняются побитно, отсюда и название побитовых операторов. Затем результат преобразуется в десятичный формат. Эти операторы могут выполнять вычисления только над целыми числами.

Ознакомьтесь с нашими сертификатами по науке о данных, чтобы повысить свою квалификацию.

Важность побитовых операторов

Вы, наверное, поняли, что такое побитовые операторы, теперь давайте сосредоточимся на важности побитовых операторов. Они лучше, чем арифметические операторы, и вот почему вам нужно их использовать:

  • Скорость выполнения

Побитовые операторы быстрее, чем выполнение умножения или деления. Если вам нужно умножить переменную x, скажем, на 9, вы можете сделать (x<<3 + x), что будет на несколько циклов быстрее, чем (x*9).

  • Проверка ошибок

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

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

Различные типы побитовых операторов

Побитовые логические операторы

Побитовые операторы и, или, и xor — это бинарные операторы, которые имеют левый и правый операнд. Побитовый оператор не является унарным операндом, имеющим только правый операнд. Тип результата всех четырех побитовых операций — целые числа. Побитовые логические операторы проверяют один бит за раз в своем операнде до и вычисляют соответствующее значение в результате.

Побитовое И

Оператор И (&) используется для выполнения И между двумя битами. В этом случае оба бита должны быть истинными, чтобы вывод был истинным. Если хотя бы один из битов ложный, вывод будет ложным. Другими словами, если оба бита равны 1, возвращается 1, иначе 0.

1&1 = 1

1&0 = 0

0&0 = 0

0&1 = 0

Пример:

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

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

а и б = 1010

&

0100

= 0000

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

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

Оператор ИЛИ (|) используется для выполнения операции ИЛИ между двумя битами. Чтобы вывод был истинным, один из битов должен быть истинным. В отличие от оператора (&), оба бита не обязательно должны быть истинными, чтобы результат был истинным. Другими словами, результирующий бит равен 0 тогда и только тогда, когда оба рассматриваемых бита равны 0, иначе результат равен 1.

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

Пример:

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

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

а | б = 1010

|

0100

= 1110

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

Побитовое НЕ

Побитовый оператор НЕ (~) используется для возврата дополнения к числу в Python. Однако оператор not является очень простым оператором и используется для переключения бита с 0 на 1 и с 1 на 0.

~13 (0b01101) = -14

~16 (0b010000) = -17

~31 (0b011111) = -32

Пример:

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

~а = ~1010

= -(1010 + 1)

= -(1011)

= -11 (Десятичный) Побитовый оператор XOR

Оператор XOR (^) используется для XOR между двумя обрабатываемыми битами. Операция XOR очень проста. Если два бита совпадают, то результирующий бит равен 0, иначе 1. Он широко используется в логических вычислениях для ускорения процесса.

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

Пример:

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

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

а и б = 1010

^

0100

= 1110

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

Операторы смены

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

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

Правый (>>) оператор, как следует из названия, сдвигает биты вправо до числа, представленного справа от оператора.

Читайте наши популярные статьи о науке о данных

Карьерный путь в науке о данных: подробное руководство по карьере Карьерный рост в науке о данных: будущее работы уже здесь Почему наука о данных важна? 8 способов, которыми наука о данных приносит пользу бизнесу
Актуальность науки о данных для менеджеров Окончательная шпаргалка по науке о данных, которую должен иметь каждый специалист по данным 6 основных причин, почему вы должны стать специалистом по данным
Один день из жизни Data Scientist: чем они занимаются? Развенчан миф: Data Science не нуждается в кодировании Бизнес-аналитика и наука о данных: в чем разница?

Например, 10>>2 сдвинет (1010) вправо на 2.

Пример 1:

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

а >> 1 = 0000 0101 = 5

Пример 2:

а = -10 = 1111 0110 (Двоичный)

а >> 1 = 1111 1011 = -5

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

Левый (<<) оператор, как следует из названия, сдвигает биты влево до числа, представленного справа от оператора.

Например – 1<< 2 сдвинет 1 влево на 2 значения.

Пример 1:

а = 5 = 0000 0101 (Двоичный)

а << 1 = 0000 1010 = 10

а << 2 = 0001 0100 = 20

Пример 2:

б = -10 = 1111 0110 (Двоичный)

б << 1 = 1110 1100 = -20

б << 2 = 1101 1000 = -40

Читайте наши популярные статьи о науке о данных

Карьерный путь в науке о данных: подробное руководство по карьере Карьерный рост в науке о данных: будущее работы уже здесь Почему наука о данных важна? 8 способов, которыми наука о данных приносит пользу бизнесу
Актуальность науки о данных для менеджеров Окончательная шпаргалка по науке о данных, которую должен иметь каждый специалист по данным 6 основных причин, почему вы должны стать специалистом по данным
Один день из жизни Data Scientist: чем они занимаются? Развенчан миф: Data Science не нуждается в кодировании Бизнес-аналитика и наука о данных: в чем разница?

Вывод

Хорошее понимание побитовых операторов Python поможет вам манипулировать двоичными данными в ваших проектах. Теперь вы понимаете основы побитовых операторов, их синтаксис и поддерживающие их типы данных. Вы также можете настроить их поведение под свои нужды.

Если вы хотите изучить и расширить свои знания о python и побитовых операторах, ознакомьтесь с программой профессионального сертификата UpGrad и Университета Мэриленда в области науки о данных и бизнес-аналитики , которая создана для работающих профессионалов и предлагает более 20 тематических исследований и заданий, которые можно выполнить . добавлены в ваше портфолио, более 100 часов живых сессий, более 400 часов обучения с помощью в трудоустройстве от ведущих фирм.

Где используются побитовые операторы?

Побитовые операторы могут использоваться для управления отдельными битами числа. В Python побитовые операторы выполняют побитовые вычисления над целыми числами. Сначала целые числа преобразуются в двоичные, а затем операции выполняются небольшими порциями — так побитовые операторы получили свое название. Побитовые операторы Python используются исключительно с целыми числами, возвращая результаты в десятичном формате.

Что такое однооперандный оператор?

Арифметические операторы выполняют математические операции, такие как сложение и вычитание с операндами. Унарные и бинарные — это две категории математических операторов. Унарные операторы выполняют функцию с одним операндом, например: Побитовое НЕ (~), тогда как бинарные операторы используют два операнда.

Зачем нужны побитовые операторы?

Побитовые операторы — отличный способ эффективно использовать пространство при представлении данных. Эти операторы необходимы при работе с данными, предоставленными аппаратным обеспечением, когда определенный бит в мире имеет значение. Побитовые операторы необходимы для экономии памяти. Упаковка данных в биты вместо слов экономит память, и часто у вас могут быть огромные объемы данных и ограниченные объемы памяти.