Mascaramento de bits

O mascaramento de bits é uma técnica usada para "ocultar" certas partes de um número. É ótimo para transmitir muitas informações em um único inteiro. Ele recebe um número n, converte-o para sua forma binária e então retorna o dígito no índice b desse número binário. Observe que o dígito 0 é, na verdade, o último dígito, pois o dígito menos significativo (o menor) é o último. Sua tarefa é criar uma função bit_mask que receba dois argumentos: o primeiro sendo n e o segundo b, e retorne a forma "mascarada" de n.

Exemplos

bit_mask(37, 2) -> 1
# Binary representation is this:
# 0b100101
#      ^
# We return index 2 from the right, which is 1

bit_mask(56, 1) -> 0
# 0b111000
#        ^

bit_mask(327, 6) -> 1
# 0b101000111
#     ^

Observações

  • Você não pode usar a função bin.
  • Para um desafio extra, tente usar apenas operações de bits!
  • Todos os números 0 ≤ n < 256 serão testados.
  • Há mais de 2,000 testes, e todos precisam ser executados em até 12 segundos (definido pelo Edabit, não por mim).
  • Se n for pequeno demais para ter um índice b, retorne 0.