二进制前缀

在計算領域，**二進位前置詞**（IEEE 1541-2002）被用作表示大的數字，採用 2 的冪而不是用 10 的冪。所有前置詞都是 1024（210）相乘而不是在國際單位制前置詞採用的 10 進位「1000」（103）。儘管有可能混淆，二進位前置詞經常被寫做和發音成和國際單位制前置詞完全一樣，而不是使用下面描述的國際電工委員會（IEC）系統。

## 歷史

使用前綴「千」（kilo-）、「兆」（mega-）、「吉」（giga-）等，以及縮寫符號「k」、「M」、「G」等（相關條目下表：千的特性），在二進位上領域會引起嚴重的混淆。

1999 年 1 月，國際電工委員會（IEC）引入了「kibi-」、「mebi-」、「gibi-」等前置詞以及縮寫符號「Ki」、「Mi」、「Gi」等來明確說明二進位乘數計數。

二進位前置詞已經被很多其他組織採用了，比較著名的有電氣電子工程師協會（相關條目 IEEE 1541），歐洲聯盟（作為一致性文件 HD 60027-2:2003-03）。然而，缺少官方支持，二進位前置詞還沒有廣泛被製造業者和個人採用，很多人繼續在二進位領域使用國際單位制前置詞。

## 國際標準

### 國際單位制

除了「K」以外，一個字母的縮寫在國際單位制前置詞是唯一的，可以與「k」互換（在國際單位制前置詞里，「K」代表熱力學溫標，「k」代表 1000）。

在精確度不是很重要的上下文中，如文件和內存大小，這些前置詞被廣泛使用，但是和國際單位制前置詞的定義相衝突。國際單位制前置詞的名字和值在 1960 年國際單位制前置詞標準中制訂，是 1000 的乘冪值。2005 年，標準字典不承認這些前置詞的二進位意義。

國際計量局（維護國際單位制前置詞的機構）特別禁止二進位的用法，推薦使用 IEC 前置詞（二進位前置詞）作為一種改變方法。

有些人建議「k」代表 1000，而「K」代表 1024，但是更高的前置詞不能這樣擴展使用並且從來沒有被廣泛承認過。

儘管從理論上來講，可以在密碼學、數據壓縮、數據傳輸率領域找到用二進位前置詞表示位或者字節的應用，但是從來沒有實際應用過。

非正式的，前置詞有自己的使用方法。可能聽過「一個 40K 的文件」（40「二進位」千字節）或者「一個 2M 的網際網路連接」（每秒 2「十進位」兆比特）。什麼單位被使用和乘冪是二進位還是十進位，依賴於上下文並且不能由單位單獨確定。

### ISO/IEC

1999 年，國際電工委員會（IEC）公布了修正 2：「IEC 60027-2：電工技術應用的字母符號 — 第二部分：通信和電子。」這個標準，在 1998 年通過，介紹了前置詞「kibi-」、「mebi-」、「gibi-」、「tebi-」、「pebi-」、「exbi-」，作為二進位乘冪的計數方法。名字的前兩個字母來源於原來的國際單位制前置詞（例如， kilo binary byte 縮寫為「kibi-Byte」、「kiB」、「kibi-byte」），而後面的「bi」是二進位的縮寫。同時明確定義，從 IEC 的觀點來看，國際單位制前置詞只有十進位的意義而不再用作二進位的意義。

修正在標準的下一版：「IEC 60027-2 (2000-11) Ed. 2.0」。第二版規定最高到「exbi-」，但是在 2005 年，第三版加入了「zebi-」和「yobi-」這樣所有的標準的國際單位制前置詞都有了他們的二進位計數夥伴。

2008 年，ISO/IEC IEC 80000-13:2008 標準取消並取代第 3.8 和 3.9 的 IEC 60027-2:2005（二進制前綴倍數），增加了明確的定義和一些數量 。

_例如：_300 GB ≅ 279.5 GiB（= 0x117.6592E GiB = 0x45D96.4B8 MiB = 0x1176592E KiB = 0x45D964B800 bytes）。

### 與十進位的比較

請注意，隨著大小增加，百分比差距在十進位和二進位之間變大，從 2.4%（千 -_K_）到超過 25%（quetta-_Q_）。

## 使用方法

### 軟體

到 2010 年，多數軟體不再以二進制或十進制來表示位元數值。IEC 二進制命名轉換方法已被少數企業採用，但是並不普遍。IEC 引入的明定目標之一就是「保留 SI 十進制倍數的前置表示，此表示式可以明確清楚表示」。像 fdisk/cfdisk，parted 還有 apt-get 等這些軟體是以它們專有的 SI 十進制表示法來顯示。

* * * *

### 發音

在英語裡面，二進位前置詞的前面的音節發音和相應的國際單位制前置詞相同，後一個音節發作 "bee"。

### 計算機內存

大部分計算機內存，如隨機訪問存儲器、只讀存儲器和快閃記憶體是用二進位表示的。這是關於內存最自然的配置方法，因為連接的地址線有對應的合法地址，這樣可以很方便地聚合成更大塊的內存。

### 硬碟

硬碟製造商用十進位來表示容量。這種用法有很長久的傳統，甚至在國際單位制前置詞在 1960 年採用前就開始使用了。例如，第一個 IBM350 的硬碟有 5,000,000 個 6 比特字在 100 個字扇區（如塊）組合起來。這出現在國際單位制前置詞之前。

### 快閃記憶體

USB 快閃記憶體是一種記憶卡，一般是用十進位兆字節表示，如 1GB、 2GB、 4GB、 8GB、 16GB、 32GB、 64GB、 128GB、 256GB、 512GB (0.5TB)、 1024GB (1TB)、 2048GB (2TB) 等，亦常用 2nGB 作為容量。

### CD

CD 通常用二進位表示。一個「700MB」（或「80 分鐘」）的 CD 的容量大概是 700MiB。然而，**DVD** 的容量是用十進位表示的。一個「4.7 GB」的 DVD 通常的容量是 4.38GiB。

### 匯流排

匯流排帶寬是用十進位表示。不是因為硬碟的容量採用了十進位，也不是因為比特率，而是因為時鐘速度。如 "PC3200" 內存運行在一個雙 200 MHz 匯流排上，每個時鐘周期傳送 8 位元組數據，因此帶寬是 200,000,000×2×8 = 3,200,000,000 位元組 / 秒。

## 爭議

一些現代的電腦用戶認為，內存和硬碟都是存儲工具，並且希望它們的容量可以用同一種方法度量。作業系統經常用二進位來報告磁碟空間的現狀使這種期望加強了。結果是買一個「30 GB」的硬碟會明顯少了容量，因為 Microsoft Windows 不會報告「30 GB」，而是用兩種方法來報告硬碟的容量：「30,064,771,072 位元組」和「28 GB」。這引起了混淆並導致法律糾紛，而有時候由於其他技術原因，如在硬碟文件系統裡面錯誤地分區及考慮格式化和未格式化的容量的時候更糟糕。

## 注釋

## 參考資料

## 相關條目

* 比特
* 字節
* 國際單位制前置詞

## 外部連結

* 二進位轉換工具（頁面存檔備份，存於網際網路檔案館）
* 什麼是兆字節？Markus Kuhn 的 1996–1999 論文（關於比特，字節，前置詞和符號）（頁面存檔備份，存於網際網路檔案館）
* 二進位前置詞（頁面存檔備份，存於網際網路檔案館）
* mebi, gibi 和 tebi 準備好了
* 二進位前置詞描述
* 二進位前置詞另一描述（頁面存檔備份，存於網際網路檔案館）
* 硬碟容量轉換白皮書（頁面存檔備份，存於網際網路檔案館）
* 新的二進位前置詞的組織和軟體統計（頁面存檔備份，存於網際網路檔案館）