这是python实现十进制转换二进制的进阶版:
步骤与转化为二进制相似:
1、十进制除整数
2、余数压栈
3、顺序出栈

# 十进制转其他进制


def baseConverter(number, base):
    digits = '0123456789ABCDEF'
    srem = []
    # 1 2两步 除整数,余数压栈
    while number > 0:
        rem = number % base
        srem.append(rem)
        number = number // base
    newstring = ''
    # 第3步 顺序出栈
    while len(srem) > 0:
        newstring = newstring + digits[srem.pop()]
    print(newstring)


baseConverter(233, 16)

注意:
1、十进制整除整数:与转化二进制不同的是,函数接受两个参数,一个是待转化的十进制整数,一个是希望转换的进制数
2、余数压栈:设置一个digits字符串,存储’0123456789ABCDEF’,字母来表示超过9的余数,将得到的余数压栈
3、顺序出栈:出栈时不同,这里用srem.pop()当做digits的下标。newstring = newstring + digits[srem.pop()] 二进制简易版是直接将出栈的结果转化为字符串

更多推荐

python实现十进制转换其他进制