在编程中,经常需要在不同的进制之间转换数值,尤其是二进制、八进制、十进制和十六进制。Python语言提供了一些内置函数,使得这种转换变得简单而直观,所以在Python当中,进行各个进制的转换是非常方便快捷的。

1. int(x, base)

这个函数将字符串 x 按照 base 进制转换成十进制整数。如果 base 被省略,且 x 是一个字符串,那么 base 默认为10。如果 x 是一个字面量整数,那么它将被转换为一个十进制的整数。

# 将二进制字符串转换为十进制整数
binary_str = '1011'
decimal_number = int(binary_str, 2)
print(decimal_number)  # 输出 11

# 将十六进制字符串转换为十进制整数
hex_str = '0xF'
decimal_number = int(hex_str, 16)
print(decimal_number)  # 输出 15

2. bin(x)

此函数接受一个整数 x,该整数是十进制, 并返回其二进制表示的字符串,结果以 '0b' 前缀开头。

# 将十进制整数转换为二进制字符串
decimal_number = 11
binary_str = bin(decimal_number)
print(binary_str)  # 输出 '0b1011'

3. oct(x)

这个函数将整数 x ,该整数是十进制,转换为八进制表示的字符串,结果以 '0o' 前缀开头。

# 将十进制整数转换为八进制字符串
decimal_number = 10
octal_str = oct(decimal_number)
print(octal_str)  # 输出 '0o12'

4. hex(x)

此函数将整数 x,该整数是十进制,转换为十六进制表示的字符串,结果以 '0x' 前缀开头。

# 将十进制整数转换为十六进制字符串
decimal_number = 255
hex_str = hex(decimal_number)
print(hex_str)  # 输出 '0xff'

5. format(x, 'b')

format 函数是一个多功能的函数,它可以根据指定的格式代码转换数值。当使用 'b' 作为格式代码时,它会将整数 x 格式化为二进制字符串。

# 使用 format 函数将十进制整数格式化为二进制字符串
decimal_number = 30
binary_str = format(decimal_number, 'b')
print(binary_str)  # 输出 '11110'

同样地,你可以使用 'o' 将数值格式化为八进制字符串,或者使用 'x' 将数值格式化为十六进制字符串(小写字母),使用 'X' 则为大写字母。

# 使用 format 函数进行不同进制的格式化
decimal_number = 30
binary_str = format(decimal_number, 'b')
octal_str = format(decimal_number, 'o')
hex_str = format(decimal_number, 'x')
print(f"Binary: {binary_str}")  # 输出 'Binary: 11110'
print(f"Octal: {octal_str}")    # 输出 'Octal: 36'
print(f"Hex (lowercase): {hex_str}")  # 输出 'Hex (lowercase): 1e'