假设是 32 位操作系统。
计算机中的一个内存位置存储多少数据?
计算机内存存储的基本单位是什么?
例如存储一个整数需要什么内存地址? 如果基本单位是 BYTE,则整数需要 4 个字节。 因此,如果我需要存储一个字节,那么如果开始将第一个字节放入内存位置 0001 那么我的整数会在 0003 内存位置结束吗?
如有错误请指正?
最佳答案
最常见的现代系统就是您所说的“字节可访问”。 这意味着:
- 一个内存位置存储 1 个字节(8 位)。
- 内存的基本存储单位是1个字节。
- 如果您需要存储 4 个字节,并将第一个字节放在 0001,最后一个字节将在 0004。即 0001、0002、0003 和 0004 各有一个字节。
请记住,系统有不同的 CPU word大小(32 位系统具有 32 位或 4 字节字),内存通常按字节寻址。 CPU 在算术中使用的寄存器是 4 个字节,但程序员用于数据存储的“内存”是以字节为单位寻址的。
在 x86 系统上,许多内存访问指令要求内存中的值与可被字长整除的地址“对齐”。例如0x???0, 0x???4, 0x???8, 0x???C.因此,在大多数系统上都不会在 0001 处存储一个 int。非数字数据类型通常可以在任何地址找到。
关于memory - 计算机中的一个内存位置存储多少数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5215495/