将 Python 整数列表转换为十六进制数



>我有从硬件读取并返回的库函数

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]

最新更新