首页  > 教育解读  > python十六进制怎么转二进制

python十六进制怎么转二进制

2025-05-06 19:00:48
起航
起航已认证

起航为您分享以下优质知识

在Python中,将十六进制转换为二进制主要有以下两种常用方法:

一、使用内置函数 `bin()` 和 `int()`

转换步骤

- 先将十六进制字符串转换为整数(使用 `int(hex_str, 16)`),

- 再将整数转换为二进制字符串(使用 `bin()`),并去掉前缀 `0b`。

示例代码

```python

hex_str = 'a1'

decimal_num = int(hex_str, 16)

binary_num = bin(decimal_num)[2:]

print(binary_num) 输出: 10100001

```

二、使用 `format()` 函数

转换步骤

直接将十六进制整数转换为二进制字符串,使用格式化语法 `{:0>

8b}` 可以指定二进制位数(如8位)。

示例代码

```python

hex_num = 'a1'

binary_num = "{:0>

8b}".format(int(hex_num, 16))

print(binary_num) 输出: 10100001

```

三、逐位转换法(手动实现)

转换步骤

将十六进制数的每一位转换为对应的4位二进制数,然后拼接起来。

示例代码

```python

def hex_to_bin(hex_str):

hex_digits = "0123456789ABCDEF"

binary_num = ""

for digit in hex_str:

binary_num += bin(hex_digits.index(digit))[2:].zfill(4)

return binary_num

print(hex_to_bin('a1')) 输出: 10100001

```

四、注意事项

输入类型:

`bin()` 和 `int()` 需要整数输入,若输入为字符串需先转换(如 `int('0x1F', 16)`)。

二进制格式:`bin()` 返回的字符串以 `0b` 开头,使用切片 `[2:]` 去掉前缀。

以上方法均可实现十六进制到二进制的转换,选择适合场景使用即可。