如何获得带符号的十六进制值?

时间:2019-07-04 04:38:16

标签: python-3.x binary

我想知道如何获得带符号十六进制值的乘积值。

给予

a = 0x7FBDB2
b = 0x06F8C
results = hex(a * b)
print(results)

# RESULTS
0x37a91beb58

but the expected results is 0x1FFE31BEB58

获得此有符号值的最佳方法是什么?

1 个答案:

答案 0 :(得分:-1)

Python变量设置为unsigned,以使您获得signed变量的结果。首先,您需要将变量转换为二进制补码(注意:MSB为0(二进制数字的最左边数)意味着您不需要进行二进制补码),然后开始操作。如果结果的MSB不为0,则需要对其进行二进制补码。