【问题标题】:32 bit vs 64 bit systems - is the memory limit in bits or bytes? [duplicate]32 位与 64 位系统 - 内存限制是位还是字节? [复制]
【发布时间】:2018-12-14 21:58:23
【问题描述】:

我正在阅读 32 位和 64 位系统之间的区别,并在此过程中发现了这个博客:https://www.zdnet.com/article/clearing-up-the-3264-bit-memory-limit-confusion/

现在我很困惑,因为在这个博客中他们提供了如下注释:

注意:想知道我们是如何达到 4GB 限制的吗?以下是 32 位系统的数学运算:

2^32 = 4,294,967,296 字节 4,294,967,296 / (1,024 x 1,024) = 4,096 MB = 4GB

64 位不同:

2^64 = 18,446,744,073,709,551,616 18,446,744,073,709,551,616 / (1,024 x 1,024) = 16EB(艾字节)

他们声明程序是 32 位还是 64 位会改变它可以使用的内存限制。

我不明白的是,位如何变成字节?如果你计算出 2 位的 32 次方,那么结果肯定是 4,294,967,296 bits 而不是 bytes?如果是这样,那么 32 位系统的内存限制将是 4 GigaBits 而不是 4 GigaBytes

有人能解释一下这是怎么回事吗?也许我错过了什么?

【问题讨论】:

  • 现在寻找副本;我想我今天早些时候看到了一个。是的,在我的浏览器历史记录中找到它:)
  • 你能提供一个链接到副本吗?我确实在网站上搜索了几个问题,但找不到类似的东西。
  • 它位于页面顶部,因为我将问题作为重复项关闭了。我发布的答案也是一个完整的答案,因此即使我打算关闭它,我还是决定不将其仅作为评论。

标签: x86 64-bit 32bit-64bit cpu-architecture 32-bit


【解决方案1】:

每个可单独寻址的内存位置都是一个字节。内存不可位寻址,只能以字节块或更大的形式进行。这就是为什么在位图中设置单个位需要对包含的字节或字进行读取-修改-写入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 1970-01-01
    • 2012-04-15
    • 2014-07-05
    • 2012-08-28
    • 2012-03-17
    • 2023-04-01
    相关资源
    最近更新 更多