在 python 中将负整数转换为支持十六进制的二进制补码
Convert negative integer to two's complement supporting hex in python
我正在尝试对二进制补码 GPS 代码进行逆向工程,其中 GPS 代码是二进制补码的十六进制表示。
例如,0xFEA1C83D 的十进制为 -22951875。
使用Python,如何将-22951875转换为0xFEA1C83D?
您可以使用 int.to_bytes
和 binarray.hexlify
:
import binascii
binascii.hexlify((-22951875).to_bytes(4, byteorder="big", signed=True))
# b'fea1c83d'
我正在尝试对二进制补码 GPS 代码进行逆向工程,其中 GPS 代码是二进制补码的十六进制表示。
例如,0xFEA1C83D 的十进制为 -22951875。
使用Python,如何将-22951875转换为0xFEA1C83D?
您可以使用 int.to_bytes
和 binarray.hexlify
:
import binascii
binascii.hexlify((-22951875).to_bytes(4, byteorder="big", signed=True))
# b'fea1c83d'