“MiB” 中的“i”是什么意思?

“MiB” 中的“i”是什么意思?

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

答案1

有两种方法(常用)来表示数量级,以使大数更容易阅读,首先可以使用 10 的幂。

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

或者 2 的幂

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

以这些系列为基础,我们得出数字 1000 和 1024(10³ 和 2¹⁰),公斤

一个字节有 8 位。因此,1 千字节为 8×10³ = 8000 位。硬盘制造商使用此方法。在计算机科学中,人们通常使用 2 的幂,因此 1 千字节为 8×2¹⁰ = 8192 位。

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

背后的逻辑这些术语源自原始的 si 前缀,千、兆、吉,但带有单词二进制投入。因此是第二个字母二进制。千字节的助记符是“千二进制字节”,“KiB”的发音为“Kibibyte”。

所有这些都定义在IEC_80000 标准

请注意,兆字节并非定义为 2²⁰,而是 (2 10 ) 2,尽管它们相等。吉字节为 (2 10 ) 3,太字节为 (2 10 ) 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

请记住,常常,当作者想表达“千字节”的意思时,会使用“千字节”这个术语。正如 Randy Orrison 指出的那样,二进制单位直到 1999 年左右才被引入。


作为尼尔麦基在评论中发现,官方对此有政策:
https://wiki.ubuntu.com/UnitsPolicy

总而言之,该政策提醒开发人员使用 SI 或 IEC 前缀,但切勿混用。它继续说道:

对于文件大小,有两种可能性:

  • 同时显示十进制和二进制(按此顺序)。Linux 内核就是一个例子:“2930277168 512 字节硬件扇区:(1.50 TB/1.36 TiB)”
  • 仅显示十进制,或者让用户有机会在十进制和二进制之间做出选择(默认必须为十进制)。

答案2

MiB 代表什么?特别是“i”?

由于没有人真正回答这个问题:“MiB”代表“埃加布byte”,可缩写为“埃布ibyte”(虽然这听起来有点蠢,我宁愿坚持说“兆二进制”)。 参见 NIST 解释。

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

过去曾有其他提议来缩写这些单位,但都未能获得支持:

  • κ = 1024, κ2 = 1024², κ3 = 1024³, ... (希腊字母 kappa,难以输入)
  • KKB = 1024, MMB = 1024², GGB = 1024³, ...(可能被误解为兆兆字节 = TB)
  • bK = 1024, bK² = 1024², bK³ = 1024³, ...(提出时,许多计算机甚至没有小写字母)
  • 1B10 = 1024,1B20 = 1024²,1B30 = 1024³,...
  • k₂B = 1024, M₂B = 1024², G₂B = 1024³, ...

答案3

这是 IEC 标准前缀,意思是“以 2 的幂”

2^10 = 1024 = Ki-

2^20 = 1048576 = Mi-

更多详情

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

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

答案4

他们是二进制前缀,对应于更常见的十进制前缀。(这是一篇很好的文章,很好地解释了其基本原理。)

相关内容