进制转换图:
自己实现的进制转换,供参考:
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