赞
踩
在Python中,进制的转换通过Python的内置函数即可实现。下文所说的其他进制指的是二进制、十六进制和八 进制。
str():字符串转换函数
bin():将一个整数转换成2进制字符串
hex():将一个整数转换成16进制字符串
oct():将一个整数转换成8进制字符串
代码如下:
# 十进制转换到其他进制 int = 10 hex = hex(int) bin = bin(int) oct = oct(int) print('十进制数是:',int) print(type(int),end='\n\n') # 十进制数是: 10 # <class 'int'> print('十六进制数是:',hex) print(type(hex),end='\n\n') # 十六进制数是: 0xa # <class 'str'> print('二进制数是:',bin) print(type(bin),end='\n\n') # 二进制数是: 0b1010 # <class 'str'> print('八进制数是:',oct) print(type(oct),end='\n\n') # 八进制数是: 0o12 # <class 'str'>
注:运用Python内置函数从十进制转换为其他进制,其输出的类型均为str类型,且转换后的值中,hex(),bin(),oct()会自动加上0x,0b,0o前缀。
其他进制转换为十进制,是上述过程的相反实现。
# 其他进制转换为十进制 a = 1010 #二进制数1010 str = str(a) print('十进制是:',int(str,2)) print(type(int(str,2))) # 十进制是: 10 # <class 'int'> b = 25 #八进制数25 str = str(b) print('十进制数是:',int(str,8)) print(type(int(str,8))) # 十进制数是: 21 # <class 'int'> c = 25 #十六进制数25 str = str(c) print('十进制数是:',int(str,16)) print(type(int(str,16))) # 十进制数是: 37 # <class 'int'>
总结:其他进制转换为十进制数,需要借助str()函数,即首先利用str()函数将数字转化为字符串类型,然后再进行转换;转换时,待转数字不应该带有0b,0x,0o前缀,否则转换后将发生错误。
二进制、八进制、十六进制间的转换可以利用十进制作为桥梁,转换为十进制后再将其转换为其他进制。以二进制转换为十六进制为例,其他进制转换与此相类似:
# 二进制转换为十六进制
num = 1010 #二进制数1010
str = str(num) #首先转换为str类型
int = int(str,2) #然后转换为十进制数
print('转换的十进制数是:',int,end='\n\n')
hex = hex(int) #将十进制数转换为十六进制数
print('转换的十六进制数是:',hex)
# 转换的十进制数是: 10
# 转换的十六进制数是: 0xa
下图为进制转换关系表:

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。