Origami Dev

Tipos primitivos (python) e bitwise operators

January 02, 2020 | 1 Minute Read

Que tal criar um algoritmo para contar o número de bits um (1)?

Criar algoritmos usando tipos primitivos e seus operadores é um bom caminho para aprender a usá-los de forma eficiente. A aula abaixo demonstra um algoritmo que testa cada bit por vez começando do último bit. Esse problema ilustra como usar shifting e & bitwise AND.

Nesse bootcamp teremos:

  • Tipos primitivos (Python)
  • Algumas operações usando tipos primitivos
  • Abordagem para resolver um problema usando tipos primitivos com operadores bitwise
    • Como contar o número do bits 1 para um inteiro (não negativo)?

Veja aqui a aula:


Aqui o código final do problema:

def count_bits(x):
    qty_ones = 0
    while x:
        qty_ones += x & 1
        x >>= 1
    return qty_ones

if __name__ == "__main__":
    print(count_bits(13))

Você também pode baixar aqui no gist.