numpy将二进制字符串转换为十进制
236浏览 · 2023-11-18 10:03:11
可以使用`numpy.packbits()`函数将二进制字符串转换为uint8类型的数组,然后再使用`numpy.unpackbits()`函数将其转换回原来的二进制字符串。下面是一个示例代码:
``` python
import numpy as np
# 二进制字符串
binary_str = "11010101"
# 将二进制字符串转换为uint8类型的数组
binary_arr = np.array([int(c) for c in binary_str], dtype=np.uint8)
# 使用numpy.packbits()函数将二进制数组转换为uint8类型的整数
decimal_num = np.packbits(binary_arr)
print(decimal_num) # 输出: 213
# 使用numpy.unpackbits()函数将uint8类型的整数转换为二进制数组
binary_arr = np.unpackbits(np.array([decimal_num], dtype=np.uint8))
# 将二进制数组转换为二进制字符串
binary_str = "".join([str(c) for c in binary_arr])
print(binary_str) # 输出: 11010101
```
相关问题
可以使用numpy中的`binary_repr()`函数将二进制字符串转换为十进制数字,如下所示:
```python
import numpy as np
binary_str = "1101"
decimal_num
```
### 回答1:
Python的内置函数bin()可以将十进制数转换成二进制数。bin()函数的语法是:bin(x),其中x为需要转换的十进制数。函数会返回一个字符串,该字符串表示x的二进制表示形式,以"0b"开头。例如,如果要将十进制数15转换为二进制数,可以使用如下代码:
num = 15
binary = bin(num)
print(binary)