On 2005-12-06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > The only way to get the flags is as a float, either through an > ascii string or a true float.
That's perverse. Really. Somebody needs to be slapped. > The value of the float, however, is representable as 24 bits > of normal binary. OK, that should preserve a 1:1 mapping between strings/floats and flag bit patterns. It's still sick, though. > So for example, the value returned is +4.608400E+04 which is > really an int, 46084, which is more easily convertible to > binary. You really don't need to convert it to "binary". Just convert it to an integer object. > So the question becomes how to convert an int to binary, which > I found here > > http://groups.google.com/group/comp.lang.python/browse_frm/thread/300e220394e2d841/33bc9b0d8174b038?lnk=st&q=python+int+to+binary&rnum=1#33bc9b0d8174b038 I doubt you actually want to do that. Just leave it as an integer, and test for the bits you care about: def bit(n): return 1<<n flags = int(half_assed_float_representing_the_flag_values) if flags & bit(0): print "underrange" if flags & bit(1): print "overrange" if flags & bit(19): print "bit 19 is set but nobody can hear me scream" if flags & bit(23): callThePolice() or whatever. -- Grant Edwards grante Yow! I feel better about at world problems now! visi.com -- http://mail.python.org/mailman/listinfo/python-list