- 利用辗转取余的方法得到的是逆序的二进制,利用的栈的特性就可以了,用Python的list来实现的Stack
class Stack(object): def __init__(self): self.items = [] def push(self,item): self.items.append(item) def pop(self): return self.items.pop() def size(self): return len(self.items) def divideBy2(decUmber): rem_stack = Stack() while decUmber > 0: rem = decUmber%2 # 对二取余 rem_stack.push(rem) decUmber = decUmber//2 # 对二取整 binString = '' for _ in range(rem_stack.size()): binString += str(rem_stack.pop()) return "{:0>8}".format(binString) # 不够8位用0补 if __name__ == '__main__': print(divideBy2(100))
python 实现10进制到2 进制的转化
最新推荐文章于 2024-08-08 02:16:55 发布