Python进制转换与通用转换器实现

进制通用转换器

进制通用转换器 line_numbers:true hightlight:true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def get_num_common(original_num, base_num):
result = []

while(original_num/base_num > base_num):
result.append(original_num%base_num)
original_num = original_num//base_num

result.append(original_num%base_num)
result.append(original_num//base_num)

result.reverse()

new_num = ''.join(str(i) for i in result)

if base_num == 2:
return '0b' + new_num
elif base_num == 8:
return '0o' + new_num
elif base_num == 16:
return '0x' + new_num
elif base_num == 10:
return int(new_num)
else:
return None

十进制转换成16进制

十进制转换成16进制 line_numbers:true hightlight:true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def get_num(original_num):
'''hex(original_num)'''

result = []

while(original_num*1.0/16 > 16):
result.append(original_num%16)
original_num = original_num//16

result.append(original_num%16)
result.append(original_num//16)

result.reverse()

return '0x' + ''.join(str(i) for i in result)

延伸

Python内置函数转换器

1、十进制数转换成N进制数

内置函数转换器 二进制数 八进制数 十六进制数
十进制数 bin(num) oct(num) hex(num)

2、N进制数转换成十进制数

内置函数转换器 十进制数
二进制数 int(num,2)
八进制数 int(num,8)
十六进制数 int(num,16)