1MiB = 1024KiB = 2^10.尽管如此,为什么不只使用 1000 字节而不是 1024 来计算大小



>1024 = 2 的 10 次方。计算机使用二进制系统,其中基数为 2(0 和 1)。人类使用十进制系统,其中基数为 10。因此,如果我有 1 个字节,其中包含现代计算机中的 8 位,我可以表示多达 256 种不同的状态、可能性、值等。10 位可以代表 1024 个状态。井。。那又怎样?它与记忆有什么关系?我认为内存大小是关于位/字节数,而不是关于位和字节可以表示的状态数。我很困惑。思考 1K(i)B = 1024 而不是 1000 字节有什么技术优势?

我想我需要更多的技术解释,也许与CPU的工作原理或数据如何在硬盘驱动器上实际存储有关的东西。不仅仅是:嘿计算机使用二进制形式,所以我们使用 2^10 而不是 10^2。

它与记忆有什么关系?

它与内存寻址有关,这也是使用二进制数完成的。

在非常高的层面上,典型的存储芯片是这样的:它有三种类型的引脚 - 地址引脚,数据引脚和控制引脚。当CPU需要读取或写入内存时,它会在存储芯片的地址引脚上设置零和一的组合,向控制引脚发送读或写信号,稍等片刻,然后使用数据引脚读取或写入数据。

放置在地址引脚上的零和一的组合称为存储器地址。它是一个二进制数,范围从 0 到 2n,其中n是地址引脚的数量。

这就是二的幂来衡量内存容量的方式。方便的是,1024 非常接近 1000,因此在谈论内存大小时,"K"被借用来表示 1024。

请注意,使用二进制倍数测量数据大小并不通用。例如,硬盘驱动器的容量通常使用十进制而不是二进制倍数来引用,因为硬盘驱动器本身不使用二进制寻址(并且十进制千兆字节的数量更高,这有助于营销产品)。

它与记忆有什么关系?

显然,所有这些大小都是 2 的幂。它是 1024 和 1024^2 的原因是因为它是对你得到的东西的精确描述。

使用计算机的构建基块时,很容易对内存进行寻址。这些构建块是地址引脚,具有更多对应于 2 的幂。

也就是说,我们也可以称之为"1000"。在大多数情况下,它只是不太精确,因此在一般情况下意义不大。但也有例外:大多数硬盘实际上使用 10 的幂作为容量。你注意到,当你把它放在电脑里时,"24"突然开始发挥作用。:-)

内存管理历来以 2 的幂完成,因为可以使用位移来执行 2 的幂。如果系统有 1024 页,则硬件可以简单地提取(或移动)位来识别页面。

在磁盘驱动器中,1K 是 1000 字节。这样做是出于营销目的。磁盘驱动器制造商可以宣传稍大的容量。即使驱动器使用大小为 2 的幂的块,也是如此。

相关内容

最新更新