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

时间:2015-06-12 14:13:42

标签: memory binary size cpu

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

我认为我需要更多的技术解释,可能与CPU工作方式或数据实际存储在硬盘上的方式有关。不只是:嘿计算机使用二进制形式,所以我们使用2 ^ 10而不是10 ^ 2.

3 个答案:

答案 0 :(得分:2)

  

它与记忆有什么关系?

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

在很高的层面上,典型的存储器芯片的工作方式如下:它有三种类型的引脚 - 地址引脚,数据引脚和控制引脚。当CPU需要读取或写入存储器时,它会在存储器芯片的地址引脚上设置0和1的组合,向控制引脚发送读取或写入信号,等待一点,然后使用以下内容读取或写入数据数据引脚。

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

这就是两个人的力量如何衡量记忆容量。方便的是,1024非常接近1000,所以" K"在谈论内存大小时借用了1024意思。

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

答案 1 :(得分:1)

  

它与记忆有什么关系?

显然,所有这些尺寸都是2的幂。它是1024和1024 ^ 2的原因是因为它是完全描述你得到的。

使用计算机的构建块时,很容易解决内存问题。这些构建块是地址引脚,并且具有更多对应于2的幂。

那说,我们也可以称之为'1000'。在大多数情况下,它不太精确,因此在一般情况下不太合理。但也有例外:大多数硬盘实际上使用10的幂来容量。您注意到当您将它放入计算机时,'24'突然开始产生影响。 : - )

答案 2 :(得分:1)

历史上,存储器管理以2的幂进行,因为可以使用位移来执行2的幂。如果系统有1024页,硬件可以识别页面只是提取(或移位)位。

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