“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 10 ) 2 ,尽管它们是相等的。 gibibyte是(2 10 ) 3 ,tebibyte是(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
请记住, 通常,当作者表示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-
更多细节
它们是二进制前缀 ,对应于更常见的十进制前缀。 (这是一篇很好的解释理由的文章。)