【问题标题】:What is the largest integer number base 16 that can be store in a variable of type dword?可以存储在 dword 类型变量中的以 16 为底的最大整数是多少?
【发布时间】:2015-08-28 00:10:23
【问题描述】:

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

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

【问题讨论】:

    标签: assembly masm


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      11111111111111111111111111111111 
      

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

      0xFFFFFFFF
      

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

      【讨论】:

        猜你喜欢
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        • 2010-12-21
        • 1970-01-01
        • 1970-01-01
        • 2011-08-02
        • 2011-04-22
        • 1970-01-01
        相关资源
        最近更新 更多