Битовые операции: маски, флаги и двоичная логика

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

Краткий ответ

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

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

Основные операции:

Проверка четности и отдельных битов

Число четное, если его последний двоичный бит равен 0.

number = int(input())

if number & 1 == 0:
    print('четное')
else:
    print('нечетное')

Чтобы проверить k-й бит, используют маску 1 << k.

number = 13
k = 2

if number & (1 << k):
    print('бит установлен')
else:
    print('бит не установлен')

Число 13 в двоичной системе — 1101, поэтому бит с номером 2 установлен.

Флаги в одной переменной

Маска позволяет хранить несколько признаков в одном числе. Например, ученик решил задачи 0, 2 и 3.

mask = 0
mask |= 1 << 0
mask |= 1 << 2
mask |= 1 << 3

print(bin(mask))

Когда это полезно

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

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

Что важно запомнить

https://yadro-code.ru/lessons/without-university/school-programming-basics/school-programming-23