Newbie: displaying binary numbers
Mike Fletcher
mfletch at tpresence.com
Mon Jun 12 10:40:33 EDT 2000
Here are some _very_ inefficient mechanisms for going to/from arbitrary-size
integers... note that unbits will crash and burn if you pass it something
too large for an integer representation.
Enjoy,
Mike
>>> def unbits( value ):
... basevalue = string.atol( value, 2 )
... if basevalue & 2L**(len(value)-1):
... basevalue = basevalue-2L**len(value)
... return int( basevalue )
...
>>> def bits( value, size=32 ):
... bits = ['0']*size
... for bit in range( size-1 ):
... if value & 2L**bit: bits[bit] = '1'
... bits.reverse()
... if value < 0:
... bits[0] = '1'
... return string.join( bits, '')
...
More information about the Python-list
mailing list