【发布时间】:2015-07-04 02:03:08
【问题描述】:
假设我有
array = [1,2,3,4]
我想要不转换为数字1234;但是要取 1、2、3 和 4 的位,将它们连接起来并转换回一个数字。
换句话说,我可能必须将每个数字/数字转换为二进制,将它们连接起来,然后再转换回数字。
因此,1、2、3、4 将分别为 00000001、00000010、00000011、00000100。连接它们将导致 00000001000000100000001100000100 转换为无符号整数将是 16909060
请记住,数组中的数字来自ord(characters),因此它们的长度应该是 8 位,因此连接起来应该是一个 32 位的数字
我该怎么做?
【问题讨论】:
-
" ... 将每个数字/数字转换为二进制,将它们连接起来,然后转换回一个数字" for
array是您想要的结果[1, 10, 11, 100] => 11011100=> 220? -
请edit您的问题显示您的预期结果。
-
@GordThompson 我刚刚为给定示例添加了所需的结果
-
如果数组包含大于 255 的数字怎么办? (二进制表示将包含 9+ 位)
标签: python binary python-2.x