假设我有A = 0b11110101

我想像这样的伪代码制作一个新的整数

B[0] = A[4]
B[1] = A[7]
B[2] = A[0]
B[3] = A[6]
B[4] = A[1]
B[5] = A[2]
B[6] = A[3]
B[7] = A[5]


我怎样才能做到这一点?

也许我可以先创建一个数组B,但是最后我需要一个整数/二进制。

更新#1

我做了这样的事情:

num=0
pc1_tidyHex = []

pc1_tidyHex.append([tidyHex[56], tidyHex[48], tidyHex[40], tidyHex[32], tidyHex[24], tidyHex[16], tidyHex[8]])
num = int(''.join(map(str, pc1_tidyHex)))
print(pc1_tidyHex)
print(num)


我得到这个错误:

Traceback (most recent call last):
  File "F:\TUC Aux\python\budi.py", line 47, in <module>
    num = int(''.join(map(str, pc1_tidyHex)))
ValueError: invalid literal for int() with base 10: "['0', '1', '1', '0', '1', '0', '0']"

最佳答案

完成array后,您可以使用:

num = int(''.join(map(str, B)))


您将拥有您的整数。如果要将其作为字符串,请删除int()

10-06 10:35
查看更多