二進制詞頭
![本頁使用了標題或全文手工轉換](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
位元組的次方單位 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
在計算領域,二進制詞頭(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」等來明確說明二進制乘數計數。[1]
二進制詞頭已經被很多其他組織採用了,比較著名的有電氣電子工程師協會(參見IEEE 1541),歐洲聯盟(作為一致性文件HD 60027-2:2003-03[2])。然而,缺少官方支持,二進制詞頭還沒有廣泛被製造業者和個人採用,很多人繼續在二進制領域使用國際單位制詞頭。
國際標準
[編輯]國際單位制
[編輯]名稱 | 符號 | 2B | 展開 | 1000D |
kilo- | k/K | 210 | = 1,024 | > 10001 |
mega- | M | 220 | = 1,048,576 | > 10002 |
giga- | G | 230 | = 1,073,741,824 | > 10003 |
tera- | T | 240 | = 1,099,511,627,776 | > 10004 |
peta- | P | 250 | = 1,125,899,906,842,624 | > 10005 |
exa- | E | 260 | = 1,152,921,504,606,846,976 | > 10006 |
zetta- | Z | 270 | = 1,180,591,620,717,411,303,424 | > 10007 |
yotta- | Y | 280 | = 1,208,925,819,614,629,174,706,176 | > 10008 |
除了「K」以外,一個字母的縮寫在國際單位制詞頭是唯一的,可以與「k」互換(在國際單位制詞頭里,「K」代表熱力學溫標,「k」代表1000)。
在精確度不是很重要的上下文中,如文件和內存大小,這些詞頭被廣泛使用,但是和國際單位制詞頭的定義相衝突。國際單位制詞頭的名字和值在1960年國際單位制詞頭標準中制訂,是1000的乘冪值。2005年,標準字典不承認這些詞頭的二進制意義。
國際計量局(維護國際單位制詞頭的機構)特別禁止二進制的用法,推薦使用IEC詞頭(二進制詞頭)作為一種改變方法。[3]
有些人建議「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(二進制前綴倍數),增加了明確的定義和一些數量[4][5] 。
名稱 | 符號 | 2進制 | 16進制 | 10進制 | ||
kibi | Ki | 210 | 162.5 | 0x400 | = 1,024 | > 103 |
mebi | Mi | 220 | 165 | 0x10 0000 | = 1,048,576 | > 106 |
gibi | Gi | 230 | 167.5 | 0x4000 0000 | = 1,073,741,824 | > 109 |
tebi | Ti | 240 | 1610 | 0x100 0000 0000 | = 1,099,511,627,776 | > 1012 |
pebi | Pi | 250 | 1612.5 | 0x4 0000 0000 0000 | = 1,125,899,906,842,624 | > 1015 |
exbi | Ei | 260 | 1615 | 0x1000 0000 0000 0000 | = 1,152,921,504,606,846,976 | > 1018 |
zebi | Zi | 270 | 1617.5 | 0x40 0000 0000 0000 0000 | = 1,180,591,620,717,411,303,424 | > 1021 |
yobi | Yi | 280 | 1620 | 0x1 0000 0000 0000 0000 0000 | = 1,208,925,819,614,629,174,706,176 | > 1024 |
- | - | 290 | 1622.5 | 0x400 0000 0000 0000 0000 0000 | = 1,237,940,039,285,380,274,899,124,224 | > 1027 |
- | - | 2100 | 1625 | 0x10 0000 0000 0000 0000 0000 0000 | = 1,267,650,600,228,229,401,496,703,205,375 | > 1030 |
例如:300 GB ≅ 279.5 GiB(= 0x117.6592E GiB = 0x45D96.4B8 MiB = 0x1176592E KiB = 0x45D964B800 bytes)。
與十進制的比較
[編輯]請注意,隨着大小增加,百分比差距在十進制和二進制之間變大,從2.4%(千-K)到超過25%(昆-Q),換言之一部以十進制標示為1QB數據儲存量的裝置,在電腦實際操作時(採用二進制),數據儲存量只有不到0.79QB。這也是各製造商堅持使用十進制來標示以二進制為基礎的電腦數據的主要原因。
名稱 | Bin ÷ Dec | Dec ÷ Bin | 舉例 | 百分比 |
kilobyte : kibibyte | 1.024 | 0.976 | 100 kB ≅ 97.6 KiB | +2.4%或−2.3% |
megabyte : mebibyte | 1.049 | 0.954 | 100 MB ≅ 95.4 MiB | +4.9%或−4.6% |
gigabyte : gibibyte | 1.074 | 0.931 | 100 GB ≅ 93.1 GiB | +7.4%或−6.9% |
terabyte : tebibyte | 1.100 | 0.909 | 100 TB ≅ 90.9 TiB | +10%或−9.1% |
petabyte : pebibyte | 1.126 | 0.888 | 100 PB ≅ 88.8 PiB | +12.6%或−11.2% |
exabyte : exbibyte | 1.153 | 0.867 | 100 EB ≅ 86.7 EiB | +15.3%或−13.3% |
zettabyte : zebibyte | 1.181 | 0.847 | 100 ZB ≅ 84.7 ZiB | +18.1%或−15.3% |
yottabyte : yobibyte | 1.209 | 0.827 | 100 YB ≅ 82.7 YiB | +20.9%或−17.3% |
ronnabyte : - | 1.238 | 0.808 | - | +23.8%或-19.2% |
quettabyte : - | 1.268 | 0.789 | - | +26.8%或-21.1% |
使用方法
[編輯]軟件
[編輯]到2010年,多數軟件不再以二進制或十進制來表示位元數值[註 1]。IEC二進制命名轉換方法已被少數企業採用,但是並不普遍。IEC引入的明定目標之一就是「保留SI十進制倍數的前置表示,此表示式可以明確清楚表示」[6]。像fdisk/cfdisk,parted還有apt-get等這些軟件是以它們專有的SI十進制表示法來顯示。
-
GNOME的系統監視視窗,使用IEC前置表示式來顯示記憶體的容量大小,以及網絡的傳輸速率
-
BitTornado使用標準的SI前置表示式來顯示資料傳輸率,以及使用IEC前置表示式來顯示檔案大小
-
Deluge使用IEC顯示資料傳輸率與檔案大小
發音
[編輯]在英語裏面,二進制詞頭的前面的音節發音和相應的國際單位制詞頭相同,後一個音節發作"bee"。
電腦記憶體
[編輯]![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a2/Elixir_M2U51264DS8HC3G-5T_20060320.jpg/220px-Elixir_M2U51264DS8HC3G-5T_20060320.jpg)
大部分電腦記憶體,如隨機訪問存儲器、只讀存儲器和閃存是用二進制表示的。這是關於記憶體最自然的配置方法,因為連接的地址線有對應的合法地址,這樣可以很方便地聚合成更大塊的記憶體。
硬盤
[編輯]硬盤製造商用十進制來表示容量。這種用法有很長久的傳統,甚至在國際單位制詞頭在1960年採用前就開始使用了。例如,第一個IBM350的硬盤有5,000,000個6比特字在100個字扇區(如塊)組合起來。這出現在國際單位制詞頭之前。
閃存
[編輯]USB閃存是一種記憶卡,一般是用十進制表示,常用2nGB作為容量,如1GB、 2GB、 4GB、 8GB、 16GB、 32GB、 64GB、 128GB、 256GB、 512GB(0.5TB)、 1024GB(1TiB)、 2048GB(2TiB)等。
CD
[編輯]CD通常用二進制表示。一個「700MB」(或「80分鐘」)的CD的容量大概是700MiB。[7]然而,DVD的容量是用十進制表示的。一個「4.7 GB」的DVD通常的容量是4.38GiB。[8]
總線
[編輯]總線帶寬是用十進制表示。不是因為硬盤的容量採用了十進制,也不是因為比特率,而是因為時鐘速度。如 "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」。這引起了混淆並導致法律糾紛,而有時候由於其他技術原因,如在硬盤文件系統裏面錯誤地分區及考慮格式化和未格式化的容量的時候更糟糕。
註釋
[編輯]參考文獻
[編輯]- ^ Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology—Part 2: Telecommunications and electronics [1] (頁面存檔備份,存於互聯網檔案館)
- ^ HD 60027-2:2003 (頁面存檔備份,存於互聯網檔案館) Information about the harmonization document (obtainable on order)
- ^ The International System of Units, 8th edition, 2006 (頁面存檔備份,存於互聯網檔案館)—Side note in section 3.1—SI prefixes
- ^ niso, New Specs and Standards. ISO. [2008-12-08]. (原始內容存檔於2008-12-08).
- ^ Prefixes for binary multiples. IEC. [2016-09-24]. (原始內容存檔於2016-09-25) (英語).
- ^ IEEE Std 1541-2002: IEEE Trial-Use Standard for Prefixes for Binary Multiples (PDF). Reaffirmed 27 March 2008. 12 February 2003 [2007-07-29]. ISBN 0-7381-3385-X. doi:10.1109/IEEESTD.2003.94236.
- ^ Data capacity of CDs. [2007-01-18]. (原始內容存檔於2006-07-15).
- ^ Understanding Recordable and Rewritable DVD (PDF). [2007-01-18]. (原始內容 (PDF)存檔於2009-04-19).