首页 > 解决方案 > 将十进制数转换为布尔数组

问题描述

在 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),但它确实感觉过于复杂。

标签: pythonpython-3.xlist

解决方案


一次创建一个数组

bits = np.array([128, 64, 32, 16, 8, 4, 2, 1])

在那之后

(bits & value) != 0

将为您提供任何值所需的数组。


推荐阅读