stack and queue Q8 binary conversion

stack = [None for index in range(0, 10000000)]
basePointer = 0
topPointer = -1
stackFull = 10000000
item = None


def pop():
    global topPointer, basePointer, item
    item = None
    if topPointer == basePointer - 1:
        print("Stack is empty,cannot pop")
    else:
        item = stack[topPointer]
        stack[topPointer] = None
        topPointer = topPointer - 1

    return item


def push(item):
    global topPointer
    if topPointer < stackFull - 1:
        topPointer = topPointer + 1
        stack[topPointer] = item
    else:
        print("Stack is full, cannot push")


def convert(value):
    global topPointer
    end = False
    while not end:
        integer = value // 2
        reminder = value % 2
        push(reminder)
        value = integer
        if value == 0:
            end = True

    binaryString = ""
    while topPointer != -1:
        binaryString += str(pop())

    return binaryString

print('Denary to Binary convertion')
print(convert(int(input('Input a number: '))))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值