【发布时间】:2020-10-23 13:12:24
【问题描述】:
我想知道十六进制数“0xDEADBEEF”是 32 位有符号数还是无符号数。因为 32 位单数的范围是 -2,147,483,648 - 2,147,483,647,但它是 3,735,928,559,所以有人知道吗?
【问题讨论】:
我想知道十六进制数“0xDEADBEEF”是 32 位有符号数还是无符号数。因为 32 位单数的范围是 -2,147,483,648 - 2,147,483,647,但它是 3,735,928,559,所以有人知道吗?
【问题讨论】:
两者都不是。有符号性不是一组位的属性。它是您在位之上施加的解释层,它告知您如何阅读它们。
如果您在期望这些位对无符号 32 位整数进行编码的上下文中阅读本文,则它们的十进制值为 3,735,928,559。
但是,如果您改为在期望这些位对带符号的 32 位整数进行编码的上下文中阅读它们,那么它们的十进制值为 -559,038,737。
【讨论】:
-。固定。