Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 如何在64位体系结构中存储数据_Assembly_Memory_Data Structures_Cpu Architecture - Fatal编程技术网

Assembly 如何在64位体系结构中存储数据

Assembly 如何在64位体系结构中存储数据,assembly,memory,data-structures,cpu-architecture,Assembly,Memory,Data Structures,Cpu Architecture,我有两个问题 第一个问题: 使用int而不是long如何减少程序中的字节数?据我所知,我们分配变量,也就是说,我们占用一个地址,如果我们使用64位体系结构,那么内存的每个地址都有64位 第二个问题: 内存地址中如何包含小于64位的数据?它先占用第一个元素,然后在其他单元格中写入0 谢谢大多数64位体系结构仍然是字节寻址体系结构,即每个地址引用1个字节。因此,使用32位数据而不是64位数据只占用4个地址,而不是8个地址,节省了一半的空间 在64位体系结构(即每个地址引用一个64位字)上,您的第一句

我有两个问题

第一个问题:

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

第二个问题:

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


谢谢

大多数64位体系结构仍然是字节寻址体系结构,即每个地址引用1个字节。因此,使用32位数据而不是64位数据只占用4个地址,而不是8个地址,节省了一半的空间


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

大多数64位体系结构仍然是字节寻址体系结构,即每个地址引用1个字节。因此,使用32位数据而不是64位数据只占用4个地址,而不是8个地址,节省了一半的空间

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