1

它可以存储的最大数字是多少?

更重要的是,有人可以解释为什么 dword 不能存储更大的数字吗?

4

2 回答 2

6

它与使用的基础本身无关。DWORD 可以存储的最大数字受以下事实的限制:DWORD(至少在 DWORD 的典型用法中,它是 Microsoft 的 typedef)是 32 位宽的无符号整数。这意味着它可以存储的最大数字是 2^32-1。

  • 在二进制中是11111111111111111111111111111111.
  • 0xFFFFFFFF,正如@GregHewgill 所说,在十六进制中。
  • 在十进制中是4294967295.
  • 用八进制表示37777777777

这些是相同的数字,只是使用不同的基数。二进制显示了机器级别的真实情况。DWORD 的最大值是 32 位宽,所有 32 位都打开。

于 2012-12-26T23:55:00.830 回答
1

假设你dword是 32 位。可以存储在 32 位二进制中的最大数是全 1:

11111111111111111111111111111111 

在基数 16(十六进制)中,这是

0xFFFFFFFF

您不能存储比这更大的整数,因为那样您将需要 33 位。

于 2012-12-26T23:54:46.027 回答