Python 代码实现了 “除 2” 算法,函数 divideBy2 传入了一个十进制的参
数,并重复除以 2。第 7 行使用内置的模运算符 % 来提取余数,第 8 行将余数压到栈上。当
除到 0 后,11-13 行构造了一个二进制字符串。
from pythonds.basic.stack import Stack
def divideBy2(decNumber):
remstack = Stack()
while decNumber > 0:
rem = decNumber % 2 # (取余数)
remstack.push(rem)
decNumber = decNumber // 2 #(取整)
binString = ""
while not remstack.isEmpty():
binString = binString + str(remstack.pop())
return binString
print(divideBy2(255))
# 11111111