永远令人混淆的单位表示 ── K / Ki / k 词头的上下文敏感

简直是最混乱的单位之一。

混淆点其一,\(\text{B/b}\) 这一缩写,可能代表 \(\text{Byte}\)(字节) 或 \(\text{Bit}\)(二进制位,binary digit)。而 \(1 \, \text{Byte} = 8 \, \text{Bit}\)

在标准情况下,大写的 \(\text{B}\) 代表 \(\text{Byte}\),小写的 \(\text{b}\) 代表 \(\text{Bit}\)

然而,并不是所有人都标准。建议根据上下文和单位推测。若为讨论储存的上下文,大概率代表 \(\text{Byte}\);若为讨论网络流传输,大概率代表 \(\text{Bit}\)\(\text{bps}\) 一般代表 \(\text{Bit}\)

混淆点其二,对于这两者都可以添加前缀 [k, m, g, t, p, e, z, y]。然而,他们虽然能指/缩写相同,指代并不一定一致。

缩写十进制全称次方二进制全称次方
kkilo-\(10^3\)kibi-\(2^{10}\)
mmega-\(10^6\)mebi-\(2^{20}\)
ggiga-\(10^9\)gibi-\(2^{30}\)
ttera-\(10^{12}\)tebi-\(2^{40}\)
ppeta-\(10^{15}\)pebi-\(2^{50}\)
eexa-\(10^{18}\)exbi-\(2^{60}\)
zzetta-\(10^{21}\)zebi-\(2^{70}\)
yyotta-\(10^{24}\)yobi-\(2^{80}\)

以上仅为部分,全表可见:

国际制单位词头 | 二进制乘数词头

同时,二进制词头可以缩写为诸如 \(\text{Ki}\)Kibi-)的形式,避免歧义。

十进制前缀为国际单位制SISystème International d’Unités)的标准;二进制词头为 IEC 60027 标准,同时被 IEEE 1541-2002 采纳。

好了,现在看到一个小小的 \(\text{KB}\),居然能在不同的上下文中,最多有 \(2^2=4\) 种歧义。

有人认为,可以靠小写为十进制,大写为二进制区分\(^?\)然而,并这不符合标准SI 的词头缩写是大小写敏感的。诸如 \(\text{M}\)\(\text{m}\):前者是 \(\text{mega-}\) 的缩写,意为 \(10^6\);后者是 \(\text{micro-}\) 的缩写,意为 \(10^{-6}\)IEC 标准也没有规定此项

目前而言,最标准的做法,是使用诸如 \(\text{Ki}\)\(\text{K/k}\) 的对立。分别对应 SI 和 IEC 标准,而无混用。

然而,不是所有人这样使用单位。如同语言学中的音位对立,复杂而难以言明。

  1. \(\text{K}\) 独自出现,必然有歧义,可能是 \(1,000\)\(1,024\)
  2. \(\text{K}\)\(\text{k}\) 一起出现,\(\text{K}\)\(1,024\)\(\text{k}\)\(1,000\)
  3. 最标准的用法\(\text{K}\)\(\text{Ki}\) 一起出现时,\(\text{K}\)\(1,000\)\(\text{Ki}\)\(1,024\)
comments powered by Disqus