Олег Марков
Работа с битами в Python
Введение
Работа с битами — важный аспект программирования, особенно при оптимизации кода и работе с низкоуровневыми данными. Python предоставляет мощные инструменты для выполнения побитовых операций, сдвигов и маскирования чисел. В этой статье мы разберём, как использовать биты в Python на практике.
Побитовые операции
Python поддерживает стандартные побитовые операции для целых чисел:
&— побитовое AND|— побитовое OR^— побитовое XOR~— побитовое NOT
a = 0b1010 # 10
b = 0b1100 # 12
print(bin(a & b)) # 0b1000
print(bin(a | b)) # 0b1110
print(bin(a ^ b)) # 0b0110
print(bin(~a)) # -0b1011Побитовые операции применяются для маскирования, проверки флагов и оптимизации вычислений.
Для системного изучения работы с числами, побитовыми операциями и преобразованиями данных рекомендуем курс Основы Python. На курсе 209 уроков, 34 упражнения, AI-тренажёры и живое ревью помогут закрепить навыки работы с битами и применять их в реальных задачах.
Сдвиги битов
Сдвиги позволяют перемещать биты числа влево или вправо:
<<— сдвиг влево>>— сдвиг вправо
x = 0b0011 # 3
print(bin(x << 2)) # 0b1100
print(bin(x >> 1)) # 0b1Сдвиги эффективны для умножения или деления на степени двойки без использования арифметических операций.
Маскирование и проверка флагов
Маскирование позволяет проверить состояние конкретного бита в числе:
flags = 0b1010
# Проверка второго бита справа
mask = 0b0010
if flags & mask:
print("Бит установлен")
else:
print("Бит не установлен")Маскирование часто используется в системном программировании и для работы с настройками или флагами состояния.
Частые ошибки
- Попытка выполнять побитовые операции с числами с плавающей точкой (
TypeError). - Использование отрицательных чисел при сдвиге без понимания дополнительного кода (
~). - Неправильное использование маски для проверки бита.
Частозадаваемые вопросы
Можно ли выполнять побитовые операции с float или complex?
Нет, только с целыми числами (int).
Как быстро проверить, установлен ли конкретный бит?
Использовать маску и побитовое AND: flags & mask.
Для чего используют сдвиги битов? Для быстрого умножения или деления на степени двойки, оптимизации памяти и работы с флагами.
Заключение
Побитовые операции, сдвиги и маскирование — полезные инструменты для работы с бинарными данными и оптимизации алгоритмов. Понимание этих операций расширяет возможности работы с числами в Python.
Для более глубокого изучения работы с числами, побитовыми операциями и практических примеров их использования рекомендуем курс Основы Python. Курс даёт возможность закрепить навыки на практике и применять их в реальных проектах.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев