gpt4 book ai didi

Python:如何按位将 4 位数字的数组转换为更大的数字?

转载 作者:太空宇宙 更新时间:2023-11-03 13:41:41 24 4
gpt4 key购买 nike

假设我有

array = [1,2,3,4]

我想要的是转换为数字 1234;但要获取 1、2、3 和 4 的位,将它们连接起来并转换回数字。

换句话说,我可能必须将每个数字/数字转换为二进制,将它们连接起来,然后再转换回数字。

因此,1、2、3、4 将分别是 00000001000000100000001100000100 .连接它们将导致 00000001000000100000001100000100 转换为 unsigned int 将是 16909060

请记住,数组中的数字来自 ord(characters),因此它们的长度应为 8 位,因此连接后应产生 32 位数字

我该怎么做?

最佳答案

在这个简单的例子中,也许这就足够了:

result = array[0] << 24 | array[1] << 16 | array[2] << 8 | array[3]

例如:

array = [1, 2, 3, 4]
result = array[0] << 24 | array[1] << 16 | array[2] << 8 | array[3]
print result

打印这个:

16909060

关于Python:如何按位将 4 位数字的数组转换为更大的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29864898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com