在Python中,可以使用内置函数来进行进制之间的转换,包括十进制、二进制、十六进制、八进制之间的转换。下面是Python中进制转换函数的详细讲解。
获取数字的二进制表示形式
Python内置了bin()函数可以将十进制数字转换为二进制表示形式,其语法如下:
bin(x)
其中x为需要转换的十进制数字。函数返回的是一个字符串,前两位为“0b”,后面跟着二进制表示形式的数字。
例如:
bin(10) # '0b1010'
bin(25) # '0b11001'
bin(32) # '0b100000'
获取数字的八进制表示形式
Python内置了oct()函数可以将十进制数字转换为八进制表示形式,其语法如下:
oct(x)
其中x为需要转换的十进制数字。函数返回的是一个字符串,前两位为“0o”,后面跟着八进制表示形式的数字。
例如:
oct(10) # '0o12'
oct(25) # '0o31'
oct(32) # '0o40'
获取数字的十六进制表示形式
Python内置了hex()函数可以将十进制数字转换为十六进制表示形式,其语法如下:
hex(x)
其中x为需要转换的十进制数字。函数返回的是一个字符串,前两位为“0x”,后面跟着十六进制表示形式的数字。
例如:
hex(10) # '0xa'
hex(25) # '0x19'
hex(32) # '0x20'
将其他进制转换为十进制
Python内置了int()函数可以将其他进制表示的数字转换为十进制表示形式,其语法如下:
int(x, base)
其中x为需要转换的数字,base为原始数字的进制数。函数返回的是一个十进制数字。
例如:
int('1010', 2) # 10
int('11001', 2) # 25
int('100000', 2) # 32
int('12', 8) # 10
int('31', 8) # 25
int('40', 8) # 32
int('a', 16) # 10
int('19', 16) # 25
int('20', 16) # 32
代码实例
下面给出两个示例来演示如何使用进制转换函数:
示例一:将10进制数字转换为2进制、8进制、16进制表示形式
num = 10
binary = bin(num)
octal = oct(num)
hexadecimal = hex(num)
print(f'number: {num}')
print(f'binary: {binary}')
print(f'octal: {octal}')
print(f'hexadecimal: {hexadecimal}')
# 输出结果:
# number: 10
# binary: 0b1010
# octal: 0o12
# hexadecimal: 0xa
示例二:将2进制表示形式的数字转换为10进制数字
binary_num = '11001'
decimal_num = int(binary_num, 2)
print(f'binary number: {binary_num}')
print(f'decimal number: {decimal_num}')
# 输出结果:
# binary number: 11001
# decimal number: 25
以上就是Python中进制转换函数的完整攻略,包括获取数字的二进制、八进制、十六进制表示形式,以及将其他进制转换为十进制。