【发布时间】:2021-05-17 06:23:37
【问题描述】:
你好,希望你们一切都好。
我现在正在做一个小任务。我有一个二进制数的字符串,我需要将其转换为十进制。我将字符串转换为 numpy 数组,然后尝试在此链接的答案中看到的内容:
Convert binary (0|1) numpy to integer or binary-string?
但是,由于我的数组大小为 54,因此解决方案无法正常工作,我得到负数结果,而正确的值是一个非常大的正数。
# data_binary = [0 1 1 1 0 1 1 1 0 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1]
data_decimal = data_binary.dot(1 << np.arange(data_binary.size)[::-1])
例如,此实例中 data_binary 的十进制等效值为“8395915512384511”,但我的脚本将其计算为“1773014015”。
您有什么方法可以建议我用来实现我的目标吗?提前非常感谢您!
【问题讨论】:
标签: python numpy binary converters