假设 32 位操作系统。
计算机中的一个内存位置存储多少数据?
计算机内存存储的基本单位是什么?
例如存储一个整数需要什么内存地址?如果基本单位是 BYTE,则整数需要 4 个字节。因此,如果我需要存储一个字节,那么如果开始将第一个字节放入内存位置 0001,那么我的整数会在 0003 内存位置结束吗?
如果错了请纠正我?
假设 32 位操作系统。
计算机中的一个内存位置存储多少数据?
计算机内存存储的基本单位是什么?
例如存储一个整数需要什么内存地址?如果基本单位是 BYTE,则整数需要 4 个字节。因此,如果我需要存储一个字节,那么如果开始将第一个字节放入内存位置 0001,那么我的整数会在 0003 内存位置结束吗?
如果错了请纠正我?
最常见的是,现代系统就是您所说的“字节可访问”。这表示:
请记住,虽然系统具有不同的 CPU字大小(32 位系统有 32 位或 4 字节字),但内存通常按字节寻址。CPU 在算术中使用的寄存器是 4 个字节,但程序员用于数据存储的“内存”是以字节为单位寻址的。
在 x86 系统上,许多内存访问指令要求内存中的值与可被字长整除的地址“对齐”。例如 0x???0、0x???4、0x???8、0x???C。因此,在大多数系统上都不会在 0001 处存储一个 int。非数字数据类型通常可以在任何地址找到。
计算机中的一个内存位置存储多少数据?
这取决于计算机。内存位置是指 CPU 可以直接寻址的内存的一部分。
计算机内存存储的基本单位是什么?
它是Bit,然后是Byte,但不同的 CPU 更愿意用特定大小的字来寻址内存。
例如存储一个整数需要什么内存地址?如果基本单位是 BYTE,则整数需要 4 个字节。
在数学中,整数是无限的,因此应该需要无限的内存来表示所有/任何整数。计算机体系结构关于应该使用多少内存来表示整数的选择是任意的。最后,关于如何表示和操作整数的逻辑是在软件中,即使它嵌入在固件中。编程语言 Python 对整数有无限表示(但请不要在上面尝试googol)。
最后,所有计算机体系结构都以某种方式允许寻址到字节或位级别,但它们在字长的地址上工作得最好,这通常与 CPU 寄存器的位长相匹配。
这与数据量或整数大小无关,而是与计算机可以使用的内存地址的数量有关。
32 位中有 4GiB 地址(用于字节)。要管理具有超过 4GiB RAM 的机器集群,每个系统都必须管理更大的地址。
同样,这完全是关于可寻址的内存空间,而不是整数的大小。即使 CPU 更喜欢 8 位字寻址,也有 64 位整数。