【发布时间】:2021-07-20 00:56:11
【问题描述】:
我的任务是将包含二进制数的数组转换为十进制数。 我的数组代码如下所示:
koo = np.random.randint(2, size=10)
print(koo)
输出示例为:
[1 0 1 0 0 0 0 0 1 0]
而我要做的是把它变成一个字符串(1010000010),然后再把它变成一个十进制数(642)。有什么方法可以做到这一点?
对于这个任务我必须用数组创建它,我不能使用 np.binary_repr()
我已经尝试使用here 提供的解决方案来解决它,但是在处理它时,数字会与真实的数字大不相同(即:根据程序,1011111010 是 381,而实际上它是 762)
有人知道如何解决这个问题吗?提前谢谢!
【问题讨论】:
-
试试
koo.dot(1 << np.arange(koo.size)[::-1])
标签: python arrays numpy binary