On Mi, 2009-12-02 at 13:08 -0500, Robert Berman wrote: > Hi, > > I am trying to represent a number as a list of bits: for example the > bit representation of the integer 8. I did find a number of articles > pertaining to a module called bitarray but I was unable to > download/install that package. I am using Linux on Ubuntu 9.10; Python > 2.6.2. > > I am almost certain there is a relatively easy way to convert an > integer that can be represented by 32 bits into an array of bits that > I can iterate over looking for switched on bits or switched off bits.
If all you want is to treat integers as lists of bits, you could create a wrapper class around an integer and implement the __getitem__ and __setitem__ methods to make it behave like a list. Using the bitwise operators, you could make the setter actually modify the bit in question (you'd probably have to either make sure you only receive 1 or 0 as value or you could simply use booleans instead). For a challenge you could try to extend the built-in integer type this way. I'm not sure why you'd need to be able to address bits directly like that, though. Normally the bitwise &, |, << and >> should suffice for all intents and purposes. Making an ACTUAL lists of ACTUAL integers representing the bits would be overkill, though. We're talking several bytes worth of nulls to represent a single bit. I'm all for late optimisation, but this just doesn't feel right. Cheers, Alan _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor