【问题标题】:How does data stored in 64 Architecture64位架构中的数据是如何存储的
【发布时间】:2021-08-17 15:56:56
【问题描述】:

我有两个问题。

第一个问题:

如何使用 int 而不是 long 减少程序中的字节数?据我了解,我们分配变量,也就是说,我们占用一个地址,如果我们使用 64 位架构,我们每个内存地址都有 64 位。

第二个问题:

小于64位的数据如何包含在内存地址中?它占用第一个元素,然后在其他单元格中写入0?

谢谢

【问题讨论】:

    标签: assembly memory data-structures cpu-architecture


    【解决方案1】:

    大多数 64 位架构仍然是 字节寻址的架构, 即每个地址指的是 1 个字节。所以使用 32 位数据而不是 64 位数据使得它只占用 4 个地址而不是 8 个地址,节省了一半的空间。

    在 64 位架构上,字寻址架构(即每个地址都指一个 64 位字),您的第一句话是正确的。使用 32 位变量不会节省内存。至于您的第二个问题,在字寻址架构上处理 32 位数据时,将数据零扩展以适应 64 位是一种常见的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2014-01-05
      • 2017-06-13
      • 2020-11-13
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      相关资源
      最近更新 更多