How to locate the bit in bits string?
alessiogiovanni.baroni at gmail.com
Tue Apr 28 17:17:38 CEST 2009
On 28 Apr, 16:36, Li Wang <li.wan... at gmail.com> wrote:
> If I use an integer to represent bits:
> e.g. 99 represents '1100011'
> How can I locate, say the second bit of 99(i.e. '1')?
> Although bin(99) could be used to locate it, this transform cost
> too much memory (99 only needs 2Bytes, while string '1100011' needs
> Anyone knows how to locate the second bit without using bin() function?
> Thank you very much:D
> Time is all we have
> and you may find one day
> you have less than you think
If we consider 8 bit, a solution may be the follow:
>>> a = 99 # bin(a) = 0b1100011
>>> 0b11111101 & a
>>> 0b11101111 & a
as you view, you set the nth bit to 0, and view if the result is same
as 'a'. If is same
then the nth bit doesn't set. If you write the above code in a loop,
you can test which bit
More information about the Python-list