1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] Pythonic way to count the number of trailing zeros in base 2

Discussão em 'Python' iniciado por Stack, Setembro 12, 2025.

  1. Stack

    Stack Membro Participativo

    I'm looking for a Pythonic way to count the number of trailing zeros in the binary representation of a positive integer n (which will indicate the highest power of 2 which divides n without remainder).

    A simple solution:

    def CountZeros(n):
    c = 0
    while (n % 2) == 0:
    n /= 2
    c += 1
    return c


    But in order to do it in a more Pythonic manner, I think that I can make use of:

    • bin(n)[2:], which gives the binary representation of n
    • bin(n)[:1:-1], which gives the reversed binary representation of n

    So my question can be reduced to counting the number of trailing zeros in a string.

    Is there any single-statement way to do this?

    My ultimate goal is a Pythonic way for computing the highest power of 2 which divides n without remainder, so any ways to do this not by counting the trailing zeros in a string are also appreciated.

    Continue reading...

Compartilhe esta Página