class Stack:
def __init__(self):
self.items=[]
def isEmpty(self):
return self.items==[]
def push(self,item):
#添加元素进站
self.items.append(item)
def peek(self):
#打印栈顶元素
return self.items[len(self.items)-1]
def pop(self):
#从栈顶取出元素
return self.items.pop()
def size(self):
#返回栈中元素的个数
return len(self.items)
#使用Python自带库
def divideByBase(decNumber,base):
#进制转换,base代表进制
remstack=Stack()
digits="0123456789ABCDEF"
#十六进制数
while decNumber>0:
rem=decNumber%base
#取余
remstack.push(rem)
decNumber=decNumber//base
#做除法取商,再次取余
binString=""
while not remstack.isEmpty():
binString=binString+digits[remstack.pop()]
return binString
print(divideByBase(1783,16))