【发布时间】:2009-09-26 17:46:11
【问题描述】:
例如 int = x; 因为 int 是 4 个字节,所以它们会占用 4 个内存位置
x X X x
【问题讨论】:
例如 int = x; 因为 int 是 4 个字节,所以它们会占用 4 个内存位置
x X X x
【问题讨论】:
这与 32 位或 64 位无关。无论如何,大多数架构都使用byte addressable 内存,所以我想答案应该是“嗯……从某种意义上说,是的。”
【讨论】:
这取决于架构。有关完整细分,请参阅words 上的维基百科页面。
注意:对于 x86,每个地址为 1 个字节。
【讨论】:
32 位机器意味着整数是 32 位宽。
实际上并没有定义整数是否为四个字节。一个字节不一定是8位。
这绝对不意味着有 4 GB RAM 或 2^32 个可寻址单元。
8086 是 16 位机器,但有 1 MB 的可寻址 RAM。 286 有 1MB + 64k - 16 字节,但能够执行分段内存映射,从而允许使用更多 RAM(我相信是 4MB)。
Pentium II 及更高版本是 32 位处理器,但实际上支持高达 64GB RAM,但一个进程一次只能寻址 4GB。
当前的 x64 处理器无法寻址 2^64 字节的 RAM。
有些机器甚至不能按字节寻址。
【讨论】: