64位架构中数据是如何存储的

How does data stored in 64 Architecture

我有两个问题。

第一个问题:

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

第二个问题:

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

谢谢

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

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