我有一个负整数(4 个字节),我希望它的二进制补码表示形式为十六进制形式。
>>> i = int("-312367")
>>> "{0}".format(i)
'-312367'
>>> "{0:x}".format(i)
'-4c42f'
但我想看到“FF...”
最佳答案
这是一种方法(对于 16 位数字):
>>> x=-123
>>> hex(((abs(x) ^ 0xffff) + 1) & 0xffff)
'0xff85'
(虽然可能不是最优雅的方式)
关于python - 如何使用 python 将带符号的整数打印为二进制补码的十六进制数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3235515/