From: Marjolaine R. <mro...@cs...> - 2008-09-05 17:04:19
|
Hi, I was wondering if python has the equivalent of the matlab bitget.m function. I have a large 2 dimensional variable of type uint32 which I must convert to binaries and then find if bit 23 of the binary for each point is 0 or 1. The matlab bitget function is ideal for that but I can't find much in python. The only thing I found was binary_repr which converts to a sting and can only be used for 1 point at a time. Any suggestions? Thanks, Marjolaine. -- This message is subject to the CSIR's copyright terms and conditions, e-mail legal notice, and implemented Open Document Format (ODF) standard. The full disclaimer details can be found at http://www.csir.co.za/disclaimer.html. This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. MailScanner thanks Transtec Computers for their support. |
From: Michael D. <md...@st...> - 2008-09-05 17:32:26
|
You could do something like: def bitget(value, bit_number): return (value & (1 << bit_number)) != 0 which will return True or False for the given bit number, and this function works on numpy arrays. (Bits are numbered base-0 -- I don't know if that matches matlab). Hope that helps, Mike Marjolaine Rouault wrote: > Hi, > > I was wondering if python has the equivalent of the matlab bitget.m function. > > I have a large 2 dimensional variable of type uint32 which I must convert to binaries and then find if bit 23 of the binary for each point is 0 or 1. The matlab bitget function is ideal for that but I can't find much in python. The only thing I found was binary_repr which converts to a sting and can only be used for 1 point at a time. > > Any suggestions? > > Thanks, Marjolaine. > > -- Michael Droettboom Science Software Branch Operations and Engineering Division Space Telescope Science Institute Operated by AURA for NASA |