Extract Indices of Numpy Array Based on Given Bit Information

Chris Angelico rosuav at gmail.com
Sat Oct 18 09:10:40 CEST 2014


On Sat, Oct 18, 2014 at 6:02 PM, Artur Bercik <vbubbly21 at gmail.com> wrote:
> So, the  Bit No. 2-5 for the following case is '1101', right?
>
> 1073741877: 1000000000000000000000000110101
>
>  If my required bit combination for Bit No. 2-5 is '1011', then the above
> number (1073741877) is not chosen, right??
>
> Look forward to know your confirmation.

(Side point: Please don't top-post. The convention on this mailing
list, and most other technical mailing lists, is what's sometimes
called "interleaved style"; you trim the quoted text to what's needed
for context, and put your text underneath what you're referring to.
See https://en.wikipedia.org/wiki/Posting_style#Interleaved_style for
more info.)

>>> 1073741877&60
52
>>> bin(52)
'0b110100'

Everything I've written with the triple-angle-bracket marker can be
typed in at the Python prompt, and you'll see exactly what it does. In
this case, you can see that you're absolutely right: 1073741877 has
1101 in those positions, so if you're looking for 1011, it won't
match:

>>> 0b101100
44

However, 1073741869 would:

>>> 1073741869&60
44

The way to test would be something like this:

>>> (1073741877 & 0b111100) == 0b101100
False
>>> (1073741869 & 0b111100) == 0b101100
True

ChrisA



More information about the Python-list mailing list