C语言 32位和4GB内存之间的关系是什么



我知道一个 32 位操作系统可以有 2^32 个内存位置,而 2^32 几乎等于 40 亿。但是为什么内存是4GB?1 字节是 8 位,每个内存位置上有 4 个字节 = 32 位。所以 2 ^ 32 乘以 4 应该等于 4 * 4 * (2 ^ 30) = 16 GB?

2^32 字节 = 4294967296 字节 = 4194304 KB = 4096 MB = 4GB。

32 位操作系统使用 32 位指针。 可以指向的最大值是 2^32 - 1。 因此,32 位操作系统只能看到 4GB 的内存。

最新更新