我正在寻找一种Pythonic方法来计算正整数的二进制表示中的尾随零的数量n(这将表示其中最高功率2除以n没有余数).
简单的解决方案:
def CountZeros(n):
c = 0
while (n % 2) == 0:
n /= 2
c += 1
return c
Run Code Online (Sandbox Code Playgroud)
但为了以更加Pythonic的方式做到这一点,我认为我可以利用:
bin(n)[2:],给出二进制表示 nbin(n)[:1:-1],它给出了反向二进制表示 n所以我的问题可以简化为计算字符串中尾随零的数量.
有没有单一陈述方式来做到这一点?
我的最终目标是用于计算最高功率的Pythonic方法,2其中n没有余数,所以任何方法不是通过计算字符串中的尾随零来实现这一点也是值得赞赏的.
python ×1