windows - 为什么 32 位等于 4 GB 而不是 4 GB?

标签 windows memory operating-system 32-bit

假设我们有一个 32 位地址,那么每一位可以是 1 或 0。

所以组合总数等于2^32。

所以我们可以表示 2^32 个地址(没有单位)。

但为什么人们说 32 位地址可以表示 2^32 字节地址(为什么是“字节”地址)?

我已经阅读了Why does a 32-bit OS support 4 GB of RAM?

不就变成2^32 * 8位地址了吗?为什么人们可以简单地在末尾添加“字节”?

最佳答案

因为内存是字节寻址的而不是位寻址的。

地址 0x100 指单个字节,地址 0x101 指后续字节。

关于windows - 为什么 32 位等于 4 GB 而不是 4 GB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15345816/

相关文章:

c++ - 在哪里可以找到可用的 winnt.h? Rubenvb 的似乎是非常错误的

windows - 我应该使用什么编程语言/编译器/库来创建在 Windows XP 上运行而无需任何其他软件的应用程序?

ruby - 如何使用 ruby​​ 在注册表中添加新的双字(32 位)值?

sql-server - 在 Docker 中安装 MSSQL 2014 Express 时出现 "Value cannot be null. Parameter name: userName"错误

linux - shell中两个输入变量的乘积

文本文件解析器的 Java 字符串内存性能改进

c++ - 如何从 std::vector 恢复内存?

存储在共享内存中的 C++ 对象(volatile 成员函数?)

c - 如何防止动态重定位(rela.dyn)?

java - 定时器运行时处理