Duncan Booth wrote:
[EMAIL PROTECTED] wrote:

My question to the group: Does anyone know of a non-hackish way to
determine the required bit position in python? I know that my two
ideas
can be combined to get something working. But is there a *better* way,
that isn't that hackish?

How about using the hex representation of the value?

OFFSET = dict(("%x"%i, int(c)) for i,c in enumerate("5433222211111111"))
def get_highest_bit_num(r):
        s = "%x"%r
        return len(s) * 4 - OFFSET[s[0]]
--
http://mail.python.org/mailman/listinfo/python-list


You can replace the dict if it's faster.

OFFSET= tuple( int(x) for x in "5433222211111111" )
def get_highest_bit_num(r):
    s = "%x"%r
    return len(s) * 4 - OFFSET[int(s[0],16)]

P.S. Back home, this sort of 'nitpicking' would be judged unconstructive. Worth pointing out, or not worth saying?

P.S.S.  'Thighest' bit?  I thought the spam filters would catch that.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to