详解python中的进制转换函数

  • Post category:Python

在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中进制转换函数的完整攻略,包括获取数字的二进制、八进制、十六进制表示形式,以及将其他进制转换为十进制。