Как найти позицию нескольких бит в байте на python?

Пользователь

от karen.wisozk , в категории: Python , 2 месяца назад

Как найти позицию нескольких бит в байте на python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от brooklyn , 2 месяца назад

@karen.wisozk 

В Python можно использовать битовые операции для нахождения позиции нескольких бит в байте.


Например, если вам нужно найти позицию двух младших бит в байте, вы можете использовать следующий код:

1
2
3
byte = 0b11011010
position = (byte & 0b11).bit_length() - 1
print(position)


Здесь byte - это входной байт, а 0b11 - маска для двух младших бит. Оператор & выполняет побитовое И между byte и маской, сохраняя только интересующие нас биты. Затем метод bit_length() возвращает количество бит, необходимое для представления этого числа в двоичном формате. После этого с помощью операции - 1 мы получаем их позицию.


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