进制转换图:

 

 

自己实现的进制转换,供参考:

def to_bin(number):
    """ 十进制转换为二进制 """
    bin_num = ''
    while number:
        bin_num += str(number % 2)
        number >>= 1
    bin_num = bin_num[::-1]
    '''
    补0:
    n = (8 - (len(bin_num) % 8))
    if n < 8:
        prefix = '0' * n
        bin_num = prefix + bin_num
    '''
    return bin_num


def to_oct(number):
    """ 十进制转换为八进制 """
    oct_num = ''
    while number:
        oct_num += str(number % 8)
        number >>= 3
    return oct_num[::-1]


def to_hex(number):
    """ 十进制转十六进制 """
    hex_num = ''
    while number:
        hex_num += str(number % 16)
        number >>= 4
    return hex_num[::-1]


def to_dec(number, rule):
    """
    将进制数按照进制规则转换为十进制数
    :param number: 进制数
    :param rule: 进制
    :return: 十进制数
    """
    res = 0
    num_list = list(number)
    lenth = len(num_list)
    for i in range(lenth):
        if num_list[i] != '0':
            res += int(num_list[i]) * rule ** (lenth - 1 - i)
    return res