当前位置: 首页>>技术教程>>正文


“MiB”中“i”的含义?

, ,

问题描述

我看到使用”MiB”作为度量来表示Ubuntu中的大小。 MiB代表什么?特别是”i”?

最佳解决方案

有两种方式(通常使用)表示数量级以使大数字易于阅读,首先您可以使用10的幂数。

10⁰ = 1
10¹ = 10
10² = 100
10³ = 1000

或两个权力

2⁰ = 1
2¹ = 2
2² = 4
2³ = 8

使用这些系列作为基础,我们得出1000和1024(10 3和2 10)数字为一公斤。

一个字节有八位。所以一千字节是8×10 3 = 8000比特。硬盘制造商使用这种方法。在计算机科学中,人们通常使用两个幂,所以一个kibibyte是8×2十8 = 8192位。

数字越大,差异越大。有些甚至将这两种系统混合在一起,以获得漂亮的数字放在包装上。这就是为什么1.44MB软盘既不是1.44兆字节也不是1.44兆字节(它们使用1024×1000)。

i背后的逻辑是这些术语是从原始的si前缀,千位,兆位,千兆衍生出来的,但是二进制字被放入。所以我是二进制的第二个字母。 kibibyte的助记符是“千字节二进制字节”,而”KiB”的读音为”Kibibyte”。

所有这些都在IEC_80000 Standard中定义。

请注意,mebibyte没有被定义为2 2,而是(210)2,尽管它们是相等的。一个gibibyte是(210)3,一个tebibyte是(210)4等等。

Prefix       Bytes                      Prefix       Bytes
1 Byte     = (2^10)^0 = 1               1 Byte     = (10^3)^0 = 1
1 Kibibyte = (2^10)^1 = 1024            1 Kilobyte = (10^3)^1 = 1000
1 Mebibyte = (2^10)^2 = 1048576         1 Megabyte = (10^3)^2 = 1000000
1 Gibibyte = (2^10)^3 = 1073741824      1 Gigabyte = (10^3)^3 = 1000000000
1 Tebibyte = (2^10)^4 = 1099511627776   1 Terabyte = (10^3)^4 = 1000000000000

请记住,当作者指kibibyte时,通常使用kilobyte这个词。正如Randy Orrison指出的那样,这个二进制单元仅在1999年左右引入。


正如nealmcb在评论中发现的那样,对此有一个官方政策:https://wiki.ubuntu.com/UnitsPolicy

总之,本政策提醒开发人员使用SI或IEC前缀,但不要混合它们。它继续说:

For file sizes there are two possibilities:

  • Show both, base-10 and base-2 (in this order). An example is the Linux kernel: “2930277168 512-byte hardware sectors: (1.50 TB/1.36 TiB)”
  • Only show base-10, or give the user the opportunity to decide between base-10 and base-2 (the default must be base-10).

次佳解决方案

What does MiB stand for? In particular the “i”?

由于没有人真的回答了这个问题:”MiB”代表”megabinary byte”,可以缩写为”mebibyte”(尽管这听起来很愚蠢,我宁愿只是坚持说”megabinary”)。 See the NIST explanation.

所以”i”来自”binary”这个词。

过去还有其他一些缩写这些单位的建议,但他们都未能获得牵引力:

  • κ= 1024,κ2=1024²,κ3=1024³,…(希腊字母kappa,很难打字)

  • KKB = 1024,MMB =1024²,GGB =1024³,…(可能会误解为megamegabyte = TB)

  • bK = 1024,bK²=1024²,bK³=1024³,……(当提出时,许多计算机甚至没有小写字母)

  • 1B10 = 1024,1B20 =1024²,1B30 =1024³,…

  • k 2 B = 1024,M 2 B = 1024 2,G 2 B = 1024 3,……

第三种解决方案

这是一个IEC标准前缀,意思是“通过两个权力”

2^10 = 1024 = Ki-

2^20 = 1048576 = Mi-

更多细节

http://en.wikipedia.org/wiki/Kibi-#IEC_standard_prefixes

http://en.wikipedia.org/wiki/Mebibyte

第四种方案

它们是binary prefixes,对应于更常见的小数前缀。 (这是一篇很好的文章,它很好地解释了原理。)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/858.html,未经允许,请勿转载。