在 python 中将负整数转换为支持十六进制的二进制补码

Convert negative integer to two's complement supporting hex in python

我正在尝试对二进制补码 GPS 代码进行逆向工程,其中 GPS 代码是二进制补码的十六进制表示。

例如,0xFEA1C83D 的十进制为 -22951875。

使用Python,如何将-22951875转换为0xFEA1C83D?

您可以使用 int.to_bytesbinarray.hexlify:

import binascii
binascii.hexlify((-22951875).to_bytes(4, byteorder="big", signed=True))
# b'fea1c83d'