“MiB”中“i”的含义是什么?

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

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

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

或两个人的力量

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

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

一个字节有8位。 所以一千字节是8×10³= 8000位。 硬盘制造商使用这种方法。 在计算机科学中,人们通常使用2的幂,因此一个kibibyte是8×2 15 = 8192位。

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

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

所有这些都在IEC_80000标准中定义。

注意,mebibyte不是定义为2²⁰,而是定义为(2 102 ,尽管它们是相等的。 gibibyte是(2 103 ,tebibyte是(2 104 ,依此类推。

 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前缀,要么永远不要混用它们。 它继续说:

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

  • 同时显示base-10和base-2(按此顺序)。 一个例子是Linux内核:“2930277168 512字节硬件扇区:(1.50 TB / 1.36 TiB)”
  • 仅显示base-10,或者让用户有机会在base-10和base-2之间做出决定(默认值必须是base-10)。

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

因为没有人真正回答这个问题:“MiB”代表“ m egab i nary b yte”,可以缩写为“mebibyte”(虽然这听起来有点愚蠢,我宁愿坚持说“megabinary”) 。 请参阅NIST解释。

所以“i”来自“二元”这个词。

在过去还有其他提议缩写这些单位,但它们都没有获得牵引力:

  • κ= 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²,G 2 B =1024³,……

它是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

它们是二进制前缀 ,对应于更常见的十进制前缀。 (这是一篇很好的解释理由的文章。)