本頁使用了標題或全文手工轉換

二進制乘數詞頭

維基百科,自由的百科全書
跳到: 導覽搜尋

計算領域,二進制乘數字首IEEE 1541-2002英語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快閃記憶體是一種記憶卡,一般是用十進制兆位元組表示,如4GB,8GB,16GB,32GB,64GB。

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. ^ A decimal prefix is a prefix that denotes a power of 1000. For example, "kilo" denotes 1000, "mega" denotes 10002 or one million, "giga" denotes 10003 or one billion, and so on. SI prefixes are decimal prefixes.

參考[編輯]

  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 互聯網檔案館存檔,存檔日期2007-03-04. 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]. (原始內容存檔於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. 12 February 2003 [2007-07-29]. ISBN 0-7381-3385-X. doi:10.1109/IEEESTD.2003.94236. 
  7. ^ Data capacity of CDs
  8. ^ Understanding Recordable and Rewritable DVD 互聯網檔案館存檔,存檔日期2009-04-19.

外部連結[編輯]