如何确定十六进制数是否为负数?

时间:2014-01-21 14:03:24

标签: hex

怎么说0x80000000是负数?另外,为了知道它是否为负,我是否需要先将其转换为二进制?请赐教我。

1 个答案:

答案 0 :(得分:1)

0x80000000相当于0b10000000000000000000000000000000

我假设你在谈论32位有符号整数。如果是这样,它们以二进制补码格式存储。基本上,这意味着第一位表示符号(0表示正数,1表示负数),其余数字表示实际数字。如果符号为负,则翻转剩余的比特并减去一个比特(因为没有负零)。因此,此数字(以32位签名形式)为-0b1111111111111111111111111111111-2147483648