Олег Марков
Работа с двоичными числами Python
Введение
Двоичная система — основа работы компьютеров, где все данные представляются как последовательности 0 и 1. В Python двоичные числа позволяют выполнять эффективные вычисления, использовать побитовые операции и взаимодействовать с низкоуровневыми протоколами.
В этой статье мы разберемся, как создавать двоичные числа, преобразовывать их в десятичные и обратно, выполнять побитовые операции и использовать двоичный формат для практических задач.
Если вы хотите детальнее изучить работу с числами и побитовыми операциями в Python — приходите на наш курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажеры для практики с кодом и задачами 24/7, решение задач с живым ревью наставника, еженедельные встречи с менторами.
Создание и представление двоичных чисел
Python позволяет задавать числа в двоичной системе с помощью префикса 0b:
a = 0b1010 # 10 в десятичной системе
b = 0b1111 # 15 в десятичной системе
print(a) # 10
print(b) # 15Для перевода числа в двоичный формат используется функция bin:
n = 23
binary = bin(n)
print(binary) # '0b10111'Преобразование между системами счисления
decimal = int("1011", 2) # из двоичного в десятичное
print(decimal) # 11
hex_num = hex(decimal) # преобразование в шестнадцатеричное
print(hex_num) # '0xb'
oct_num = oct(decimal) # преобразование в восьмеричное
print(oct_num) # '0o13'Побитовые операции
Двоичные числа удобно использовать с побитовыми операциями:
x = 0b1100 # 12
y = 0b1010 # 10
print(bin(x & y)) # 0b1000 (AND)
print(bin(x | y)) # 0b1110 (OR)
print(bin(x ^ y)) # 0b0110 (XOR)
print(bin(~x)) # -0b1101 (NOT)
print(bin(x << 2)) # 0b110000 (сдвиг влево)
print(bin(x >> 2)) # 0b11 (сдвиг вправо)Побитовые операции полезны для маскирования, проверки флагов и оптимизации низкоуровневых вычислений.
Частые ошибки
- Попытка использовать строки
'1010'без преобразования черезint(..., 2)→ логические и арифметические ошибки. - Неправильное использование сдвигов → неожиданные отрицательные значения при работе с
~. - Перепутанная система счисления при объединении
bin,hexиoct.
Часто задаваемые вопросы
Можно ли использовать двоичные числа в арифметике? Да, Python автоматически интерпретирует их как целые числа (
int), поэтому сложение, вычитание и умножение работают как обычно.Как удалить префикс
0bу строки?
n = bin(10)[2:] # '1010'- Как проверить, установлен ли конкретный бит?
x = 0b1010
bit = 1 << 2 # 0b0100
print(x & bit != 0) # False- Можно ли работать с двоичными числами в массивах или NumPy?
Да, их можно хранить в
numpy.arrayи выполнять побитовые операции векторно.
Заключение
Двоичные числа в Python — мощный инструмент для работы с низкоуровневыми данными, битовыми масками и вычислениями. Знание создания, преобразования и побитовых операций позволяет эффективно управлять бинарной информацией и интегрировать её в более сложные вычислительные задачи.
Для системного изучения работы с числами и побитовыми операциями в Python рекомендую пройти курс Основы Python. В первых 3 модулях уже доступно бесплатное содержание — начните погружаться в мир Python прямо сегодня.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

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