如何将十六进制数转换成十进制的双字而不是QWORD?

2024-10-02 14:28:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有十六进制数:

FFFFFCE3

如果我想把它转换成十进制数。我做到了:

^{pr2}$

和输出:

4294966499

但是如果我把它存储在一个QWORD中,这就是结果。 我想知道如何将其存储在DWORD中,因此输出将是我期望的负数:

-797

Tags: 负数pr2dwordqwordfffffce3
1条回答
网友
1楼 · 发布于 2024-10-02 14:28:38

要将十六进制字符串解释为32位带符号整数,请运行:

$ python -c 'x=int("0xFFFFFCE3",16); print x if x<2**31 else x-2**32'
-797

说明:

  • x=int("0xFFFFFCE3",16)

    这会将以16为基数的字符串转换为无符号整数。

  • print x if x<2**31 else x-2**32'

    这将把一个无符号的32位整数转换成32位整数并打印出来。

相关问题 更多 >