Skip to content

python 进制转换

Python中可以使用内置函数bin()、oct()和hex()来进行不同进制之间的转换。

十进制转其它进制

  1. 将十进制数字转换为二进制:
py
num = 42
binary_num = bin(num)
print(binary_num) # 输出结果为 '0b101010'
  1. 将十进制数字转换为八进制:
py
num = 42
octal_num = oct(num)
print(octal_num) # 输出结果为 '0o52'
  1. 将十进制数字转换为十六进制:
py
num = 42
hexadecimal_num = hex(num)
print(hexadecimal_num) # 输出结果为 '0x2a'

其它进制转换十进制

直接使用int方法,int方法接受两个参数,第一个为数字,第二个为数字本身的进制,下面以八进制为例:

py
# 输入一个八进制字符串并转换为十进制
octal_str = "75"
decimal = int(octal_str, 8)
print("八进制", octal_str, "的十进制结果为", decimal)

或者直接使用进制的表示法,二进制是0b,八进制是0o,十六进制是0x,下面以八进制为例:

py
# 直接传递八进制表示法作为参数
octal_num = 0o64
decimal = int(octal_num)
print("八进制", octal_num, "的十进制结果为", decimal)

其它进制转换

其它进制转换思路可以将对应进制转为10进制,再使用十进制转换方法。

例如: 十六转二进制

python
hexadecimal_number = "1A"  # 十六进制数
binary_number = bin(int(hexadecimal_number, 16))[2:]  # 将十六进制数转换为二进制数
print(binary_number)  # 输出转换后的二进制数

在这个示例中,我们首先将十六进制数作为字符串表示,然后使用内置函数 int() 将它转换为整数,指定进制为 16。然后,我们使用 bin() 函数将该整数转换为二进制字符串。最后,我们通过切片 [2:] 来去除二进制字符串中的前缀 "0b",因为 bin() 函数生成的二进制字符串以 "0b" 开头。