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)