>我有从硬件读取并返回的库函数
value = readregister(registerindex,numbytes)
其中value
是一个 python 列表。
如果numbytes
为 2,则返回的完整数字将在
value[0],value[1]
例如,它返回
[128,2]
十六进制是
[0x80,0x2]
如何将这个 2 个元素的列表值转换为十六进制 python 数字?所以如果将它们结合起来,我应该得到0x280即640
无需转换为中间十六进制表示形式。您只需左移位即可创建所需的数字。
def get_number(values):
total = 0
for val in reversed(values):
total = (total << 8) + val
return total
试试这个:
list=[128,2]
>>> b=[]
>>> for item in list:
... b.append(hex(item))
...
>>> b
>>>[0x80,0x2]