python - 将十进制数转换为布尔数组
问题描述
在 Python 3.8 中,我想取一个整数(总是在 0 到 8 之间)并将其转换为一个数组,其中每个二进制数字都有一个布尔表示。我想出了一些东西,但感觉是一种相当全面的方式来获得我想要的东西:
import numpy as np
curInput = 5
myArray = np.array(list(map(int, list(f"{curInput:08b}"))),dtype='bool').tolist()
以上创建[False, False, False, False, False, True, False, True]
了我所需要的(我需要数组的大小始终为 8),但它确实感觉过于复杂。
解决方案
一次创建一个数组
bits = np.array([128, 64, 32, 16, 8, 4, 2, 1])
在那之后
(bits & value) != 0
将为您提供任何值所需的数组。
推荐阅读
- javascript - npm 的 docker-compose up 失败
- python - django url 可以在开头包含固定路径吗?
- android - 如何使用绑定适配器从 ImageView 中的 drawable 加载动画 gif?
- java - 无法为元素 Appenders 调用类 org.apache.logging.log4j.core.config.AppendersPlugin 中的工厂方法:java.lang.NullPointerException
- swift - 计算两个坐标之间的距离并将其显示在 UITableViewCell 的标签内
- java - 何时使用接口变量与实现变量
- elasticsearch - 在 Kibana 仪表板中使用 SQL
- python - 为什么我要为 Python 中数据框的每个索引获取列标题?
- c++ - 冒泡排序降序
- javascript - laravel 在提交表单时没有获取文件