import math
def get_digit( number ):
d = number % 2
return d
def parse_small_number( n ):
digits = list()
if n == 2:
digits.append( '0' )
digits.append( '1' )
elif n == 1:
digits.append( '1' )
else:
digits.append( '0' )
return digits
def bins( n ):
stack = list()
while n > 2:
r = get_digit( n )
stack.append( str( r ) )
n = int( n / 2 )
stack += parse_small_number( n )
return stack
def run_tests( ):
print 'converted?'
tests = [ (0,'0'), (1,'1'), (2,'10'),
(3,'11'), (4,'100'),(5,'101'),
(6,'110'),(10,'1010'),(34,'100010')]
for t in tests:
print repr( t ),
r = bins( t[0] )
r.reverse()
print repr( r )
run_tests()
print 'done'