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