“ 0xDEADBEEF”-已签名还是未签名?

问题描述

我想知道十六进制数字“ 0xDEADBEEF”是32位带符号数字还是无符号数字。因为32位单数的范围是-2,147,483,648-2,647,但是它是3,735,928,559,所以有人知道吗?

解决方法

都不是。签名不是一组位的属性。这是您强加在位上的解释层,它告诉您如何阅读它们。

如果您是在希望这些位对32位无符号整数进行编码的情况下阅读此书,则它们的十进制值为3,735,928,559

但是,如果您在期望这些位对32位有符号整数进行编码的上下文中读取它们,则它们的十进制值为-559,038,737