二進制乘數接頭語

本页使用了标题或全文手工转换,现处于台湾繁体模式
求聞百科,共筆求聞
位元組的次方單位
十進位前綴
(SI)
名字 縮寫 次方
千位元組 KB 103
百萬位元組 MB 106
吉位元組 GB 109
兆位元組 TB 1012
拍位元組 PB 1015
艾位元組 EB 1018
皆位元組 ZB 1021
佑位元組 YB 1024
二進位前綴
(IEC 60027-2)
名字 縮寫 次方
Kibibyte KiB 210
Mebibyte MiB 220
Gibibyte GiB 230
Tebibyte TiB 240
Pebibyte PiB 250
Exbibyte EiB 260
Zebibyte ZiB 270
Yobibyte YiB 280

計算領域,二進位乘數接頭語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

例如:300 GB ≅ 279.5 GiB(= 0x117.6592E GiB = 0x45D96.4B8 MiB = 0x1176592E KiB = 0x45D964B800 bytes)。

二進位和10進位接頭語大約比率

請注意,隨著大小增加,百分比差距在十進位和二進位之間變大,從2.4%(千-K)到超過20%(么-Y)。

名稱 Bin ÷ Dec Dec ÷ Bin 舉例 百分比
kilobytekibibyte 1.024 0.976 100 kB ≅ 97.6 KiB +2.4%或−2.3%
megabytemebibyte 1.049 0.954 100 MB ≅ 95.4 MiB +4.9%或−4.6%
gigabytegibibyte 1.074 0.931 100 GB ≅ 93.1 GiB +7.4%或−6.9%
terabytetebibyte 1.100 0.909 100 TB ≅ 90.9 TiB +10%或−9.1%
petabytepebibyte 1.126 0.888 100 PB ≅ 88.8 PiB +12.6%或−11.2%
exabyteexbibyte 1.153 0.867 100 EB ≅ 86.7 EiB +15.3%或−13.3%
zettabytezebibyte 1.181 0.847 100 ZB ≅ 84.7 ZiB +18.1%或−15.3%
yottabyteyobibyte 1.209 0.827 100 YB ≅ 82.7 YiB +20.9%或−17.3%

使用者困惑

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

使用方法

軟體

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

發音

在英語裡面,二進位乘數接頭語的前面的音節發音和相應的國際單位制接頭語相同,後一個音節發作"bee"。

電腦記憶體

這些是容量536,870,912位元組(512×220)的記憶體,都被標上「512MB」容量的標籤

大部分電腦記憶體,如隨機存取記憶體唯讀記憶體快閃記憶體是用二進位表示的。這是關於記憶體最自然的組態方法,因為連接的位址線有對應的合法位址,這樣可以很方便地聚合成更大塊的記憶體。

硬碟

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

快閃記憶體

USB快閃記憶體是一種記憶卡,一般是用十進位百萬位元組表示,如1GB,2GB,4GB,8GB,16GB,32GB,64GB,128GB,256GB,512GB,1024GB,2048GB,4096GB,8192GB,16384‬GB,32768‬‬GB,65536GB,131072GB,262144GB,524288GB‬,1048576GB。

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位元組/秒。

參見

注釋

  1. 十進位接頭語是表示1千的整數次的接頭語。例如,「Kilo」表示1000,「mega」表示10002或100萬,「giga」表示10003或10億,等等。SI接頭語是十進位接頭語。

參考

  1. Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology—Part 2: Telecommunications and electronics [1]
  2. HD 60027-2:2003 Information about the harmonization document (obtainable on order)
  3. The International System of Units, 8th edition, 2006 —Side note in section 3.1—SI prefixes
  4. niso, New Specs and Standards. ISO. [2008-12-08]. 
  5. Prefixes for binary multiples. IEC. [2016-09-24] (英語). 
  6. IEEE Std 1541-2002: IEEE Trial-Use Standard for Prefixes for Binary Multiples (PDF). Reaffirmed 27 March 2008. 2003-02-12 [2007-07-29]. ISBN 0-7381-3385-X. doi:10.1109/IEEESTD.2003.94236. 
  7. Data capacity of CDs. [2007-01-18]. 
  8. Understanding Recordable and Rewritable DVD (PDF). [2007-01-18]. 

外部連結