on writing a number as 2^s * q, where q is odd

jak nospam at please.ty
Thu Nov 30 00:07:00 EST 2023


Alan Bawden ha scritto:
> Julieta Shem <jshem at yaxenu.org> writes:
> 
>     How would you write this procedure?
>     def powers_of_2_in(n):
>         ...
> 
> def powers_of_2_in(n):
>      return (n ^ (n - 1)).bit_count() - 1
> 

Great solution, unfortunately the return value is not a tuple as in the
OP version. Maybe in this way?

def powers_of_2_inB(n):
     bc = (n ^ (n - 1)).bit_count() - 1
     return bc, int(n / (1 << bc))



More information about the Python-list mailing list