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

问题描述 投票:0回答:1

我想知道十六进制数

0xDEADBEEF
是32位有符号数还是无符号数。因为32位有符号数的范围是从
-2,147,483,648
2,147,483,647
,但它是
3,735,928,559
,所以有人知道这个吗?

binary integer unsigned signed
1个回答
4
投票

都不是。有符号性不是一组位的属性。它是您强加在位之上的解释层,它告诉您如何读取它们。

如果您在期望这些位编码无符号 32 位整数的上下文中阅读本文,那么它们的十进制值为

3,735,928,559

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

-559,038,737

© www.soinside.com 2019 - 2024. All rights reserved.