def dectobase2(base, number):
symb=["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
global tb
def tb(b, n, result=''):
r = ''
if n == 0: return result
else:
while n > b:
r = symb[n%b] + result
n = n/b
return tb(b, n/b, str(n%b) + result) + r
if type(base) != type(1):
raise TypeError, 'invalid base'
if base <= 0:
raise ValueError, 'invalid base : %s' %base
if number == 0:
return '0'
if number > 0:
return tb(base, number)
if number < 0:
return '-' + tb(base, -1 * number)
print dectobase2(16, 15)