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

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

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

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

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

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

缩写十进制全称次方二进制全称次方
kkilo-10310^3kibi-2102^{10}
mmega-10610^6mebi-2202^{20}
ggiga-10910^9gibi-2302^{30}
ttera-101210^{12}tebi-2402^{40}
ppeta-101510^{15}pebi-2502^{50}
eexa-101810^{18}exbi-2602^{60}
zzetta-102110^{21}zebi-2702^{70}
yyotta-102410^{24}yobi-2802^{80}

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

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

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

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

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

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

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

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

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