コンテンツにスキップ

2進接頭辞

出典: フリー百科事典『ウィキペディア(Wikipedia)』
バイトの単位一覧
SI接頭語 2進接頭辞
単位(記号) SI基準 慣用値 単位(記号) 値 SIとの差(概数)
キロバイト (kB)103210 キビバイト (KiB)210 2.400000%
メガバイト (MB)106220 メビバイト (MiB)220 4.857600%
ギガバイト (GB)109230 ギビバイト (GiB)230 7.374182%
テラバイト (TB)1012240 テビバイト (TiB)240 9.951163%
ペタバイト (PB)1015250 ペビバイト (PiB)250 12.589991%
エクサバイト (EB)1018260 エクスビバイト (EiB)260 15.292150%
ゼタバイト (ZB)1021270 ゼビバイト (ZiB)270 18.059162%
ヨタバイト (YB)1024280 ヨビバイト (YiB)280 20.892582%
ロナバイト (RB)1027290 ロビバイト (RiB)290 23.794004%
クエタバイト (QB)10302100 クエビバイト (QiB)2100 26.765060%
この表の上付き文字は環境により適切に表示されていない場合があります。

2進接頭辞(にしんせっとうじ、英: Binary prefix)は、単位に2のべき乗を乗じたものを表す単位(その単位の二進の倍量単位)を示す接頭辞である。

主にデジタルコンピュータが扱うデータの大きさを表す単位(ビット、バイトやオクテット)などに付す接頭辞として使われる。

経緯

[編集]

規格化以前

[編集]

国際度量衡総会 (CGPM) で決定された国際単位系(SI)に属するSI接頭語は厳密に10の整数乗を表しているのであってSI接頭語が2のべき乗を表すことは決してない。しかし、2進接頭辞の名称に、SI接頭語に由来するキロ、メガ等を誤差を無視して流用する俗習があった[1][2]。

二進法ベースのシステムでは、その数量について2のべき乗がよく現れる。そこで大きな量を表す際、SI接頭語のキロが表す乗数1000に近い1024 (= 210 (2の10乗)) やSI接頭語のメガが表す乗数1 000 000に近い1 048 576 (= 220) について、キロやメガを接頭辞として主にバイトやビットといったデータの大きさの単位と組み合わせて使用されるようになった。例えば1キロバイトや1メガバイトは、記号を使用して1KB、1MBと書き、また、会話において当事者同士で単位について暗黙または明示的な合意があると認識している場合、単位を省略して1キロ、1メガといった言い方を慣用的に使ってきた。その後、データ規模の拡大に伴い、より大きな乗数を表すギガ、テラ、ペタなども同様に使われる様になった。

なお、特に記憶装置の関連などにおいて、底が2なのか10なのか不明確に扱われる場合がある。特にハードディスクの容量を示す際などに顕著である。さらには乗数が増えるほど流用元のSI接頭語が表す乗数との誤差が大きくなるため、ギガ、テラ等の利用が進むにつれ不都合が増えてきた。下表の通り、キロでは誤差2.4%と有効数字2桁の範囲で不都合は生じないが、テラでは誤差が約10%となり有効数字2桁の範囲でも無視できなくなる。そのため、消費者の混乱を引き起こすことがあった[3][4]。

初期の2進接頭辞の提案

[編集]

後述のIEC規格が制定される以前にも、1960年代後半から独自の2進接頭辞に関するいくつかの提案が存在していた。

1968年、ドナルド・モリソンは1024を表すのにギリシャ文字のκ(カッパ)、10242を表すのにκ2、といったように、ギリシャ文字のκを用いることを提案した(当時、メモリ容量は小さく、広く使われていたのはKのみであった)[5]。 同年、ウォレス・ギヴンスは、1024の略記としてbK、10242の略記としてbK2またはbK2を用いることを提案したが、当時のコンピュータプリンタではギリシャ文字も小文字のbも再現しにくいと指摘した[6]。 ブルックヘブン国立研究所のブルース・アラン・マーティンは接頭辞の代わりに、2のべき乗を10進数の指数表記におけるE表記と同様に、文字 B の後に指数を付ける方法で表すことを提案した[7]。たとえば、3×220 は 3B20 と表記できる。

1969年、ドナルド・クヌースは 1MB = 1000kB のように10進表記を使用しており[8]、1024のべき乗を「ラージ・キロバイト」と「ラージ・メガバイト」と呼び、それぞれ KKB と MMB と略記することを提案した[9]。

1996年、ドイツの計算機学者マルクス・クーンは「バイナリ」を表すために、接頭辞「di」と記号の接尾辞または添え字「2」を追加することを提案した[10]。例えば、「1 dikilobyte」は「1024 バイト」を意味し、「K2B」または「K2B」と表記する。

規格化

[編集]

1995年、国際純正・応用化学連合 (IUPAC) の命名法・記号のための部会間委員会(IDCNS、英語: Inter-divisional Committee on Nomenclature and Symbols)の年次総会で、2進接頭辞として 210 を kilobinary の略としてキビ(kibi、記号: kb[注釈 1])、同様に 220 をメビ(mebi、記号: Mb)、230 をギビ(gibi、記号: Gb)、240 をテビ(tebi、記号: Tb)とする提案があった[11]。さらに翌1996年の年次総会では、IEEE が読みはそのままにこれらの記号を Ki[注釈 2], Mi, Gi, Ti と変更することを提案した[12]。

1998年、国際電気標準会議 (IEC) はこれを承認し、さらに 250 を表すペビ(pebi、記号: Pi)、260 を表すエクスビ(exbi、記号: Ei)を追加し、1999年、IEC 60027-2の第2改訂版に取り込まれた[13][14][15][16]。

2003年2月に同様の規格がIEEEでもIEEE 1541-2002として成立している[17]。当初は試用規格であったが[18]、2年間の試用期間を経て2005年3月に完全使用規格に昇格された[19]。

2005年8月、IEC 60027-2:2005でさらに 270 を表すゼビ(zebi、記号: Zi)、280 を表すヨビ(yobi、記号: Yi)が追加された[20][21]。

2006年に発行された国際単位系国際文書第8版では、「SI接頭語は10の整数乗を表す。決して2のべき乗を表すために用いてはならない」と改めて強調したうえで、IEC 60027-2:2005の2進接頭辞について国際単位系には属さないもののSI接頭語の誤用を避けるための参考情報として記載された[22]。

2008年、IEC 60027の2進接頭辞の規定を含む3.8節・3.9節は、IEC 80000-13:2008に継承された[23]。

2022年に国際度量衡局が 1027 を ロナ、1030 を クエタ としたことで、2025年には IEC 80000-13:2025 に 290 を表すロビ(robi、記号: Ri)、2100 を表すクエビ(quebi、記号: Qi)が追加された[24][25]。

しかし2007年時点では、この表現方法の普及は進んでおらず混乱の解消には至っていないとする意見もある[26]。情報技術系企業でさえ、利用度は高くはない[27]。一方でそれまでSI接頭語を使用していたものを2進接頭辞に切り替える動きもある[28]。

従来の用法

[編集]
従来の2進数の接頭辞
名前記号乗数SI接頭語の乗数
キロ (kilo)k210 = 10241 = 1 024103 = 10001 = 1 000
メガ (mega)M220 = 10242 = 1 048 576106 = 10002 = 1 000 000
ギガ (giga)G230 = 10243 = 1 073 741 824109 = 10003 = 1 000 000 000
テラ (tera)T240 = 10244 = 1 099 511 627 7761012 = 10004 = 1 000 000 000 000
ペタ (peta)P250 = 10245 = 1 125 899 906 842 6241015 = 10005 = 1 000 000 000 000 000
エクサ (exa)E260 = 10246 = 1 152 921 504 606 846 9761018 = 10006 = 1 000 000 000 000 000 000
ゼタ (zetta)Z270 = 10247 = 1 180 591 620 717 411 303 4241021 = 10007 = 1 000 000 000 000 000 000 000
ヨタ (yotta)Y280 = 10248 = 1 208 925 819 614 629 174 706 1761024 = 10008 = 1 000 000 000 000 000 000 000 000

1024 を表す記号は SI接頭語の小文字の k を流用してキロと読む場合と[1][29]、区別のため大文字の K を用いてキロと読む場合[2][30]、大文字の K を用いてケーと読む場合などがあった[31][32][33]。それ以外の記号はSI接頭語と同じ表記・読みで区別できない。

IEC 規格の接頭辞

[編集]
新しいIEC規格の接頭辞
名前記号乗数
キビ (kibi)Ki210 = 1 024
メビ (mebi)Mi220 = 1 048 576
ギビ (gibi)Gi230 = 1 073 741 824
テビ (tebi)Ti240 = 1 099 511 627 776
ペビ (pebi)Pi250 = 1 125 899 906 842 624
エクスビ (exbi)Ei260 = 1 152 921 504 606 846 976
ゼビ (zebi)Zi270 = 1 180 591 620 717 411 303 424
ヨビ (yobi)Yi280 = 1 208 925 819 614 629 174 706 176
ロビ (robi)Ri290 = 1 237 940 039 285 380 274 899 124 224
クエビ (quebi)Qi2100 = 1 267 650 600 228 229 401 496 703 205 376

語源は、近い値のSI接頭語の先頭部分の後ろに、2進を表す bi [注釈 3]を付け "bee"[注釈 4] のように発音するとしており[13]、記号ではSI接頭語の記号に i が付く。ただしキビについてはSI接頭語の小文字の k を大文字に変えて Ki となる。

2進接頭辞とSI接頭語

[編集]

IEC規格でない旧来の2進接頭辞とSI接頭語の使い分けは分野や場合によっては曖昧で混乱しており[26]、キロがSI接頭語の1000であるか2進接頭辞の1024であるかはそれだけではわからない事もある。キロでは双方の差は約2%だが、メガで約5%、ギガで約7%、テラで約10%と乗数が大きくなるにつれその差も大きくなる。

半導体メモリ

[編集]

一般的に半導体メモリの構造に起因するデータの大きさの単位では2進接頭辞が、それ以外でSI接頭語が使用される。しかしメモリ関連であっても場面によっては十進法に基づくSI接頭語の方が量の比較や計算が行いやすい利便性があるため、両者の使い分けが考えられる。そのため2進接頭辞はIEC規格での明確な表示が必要となる。

RAMやROM、SSD、USBメモリなど半導体メモリの容量は2進接頭辞が使用される。1キロバイト=1024バイト、1メガバイト=1024キロバイトである。

1999年、半導体技術協会 (JEDEC) はJESD100Bを定め[34]、記憶装置の容量を表す場合に限り[注釈 5]SI接頭語と同様の名称のキロ、メガ、ギガについて2進接頭辞として定義しているが、それらの注意書きには

このキロ、メガ、ギガの定義は、一般に使われている用法を反映するためだけに記載している。IEEE/ASTM SI 10-1997では『この慣習はしばしば混乱を招くため、非推奨である』と規定されている。(略)代替となる体系としては IEC 60027-2 改訂2版がある

—JESD100B.01『Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits』8頁

との記載がある。この時点では半導体業界でのSI接頭語の誤用が一般的であることを認めており、IEC の定めた2進接頭辞への移行を勧めている。

周波数

[編集]

CPU等のクロック周波数やサンプリング周波数など周波数にはSI接頭語が使用される。2.4ギガヘルツは2 400 000 000ヘルツである。周波数の単位は計量単位なので各国の計量法規の規制を受ける。日本では計量法等により国際単位系(SI)が採用されており、周波数の法定単位にはSI接頭語が用いられる[35]。

通信速度

[編集]

通信速度、また音声や映像の圧縮やストリーミングでのビットレートではSI接頭語が使用される。1メガビット/秒は1 000 000ビット/秒である。

フロッピーディスク

[編集]
2HDフロッピーディスクのパッケージ


フロッピーディスクの容量では2進接頭辞とSI接頭語の混合した単位が使用される場合がある。2HDフロッピーディスクの、(512バイト/セクタ) × (18セクタ/トラック) × (80トラック/面) × (2面) フォーマットの容量はしばしば「1.44メガバイト」とされるが[36]、正確には1.44 × 1000 × 1024バイト(1440キビバイト)の容量を持っている。この場合の "メガ" は1000 × 1024であり、SI接頭語でも2進接頭辞でもない。いずれかを使用するなら1.47メガバイトまたは1.41メビバイトとなる[4]。

ハードディスク

[編集]

ハードディスクドライブの容量ではSI接頭語が使用される。 例えば100ギガバイトのハードディスクドライブはおよそ100 × 1000 × 1000 × 1000バイト(100 × 109バイト)の容量を持っている [37]。しかしOS等の表示は2進接頭辞を使用している場合が多く、100ギガバイトのハードディスクがOS上で93ギガバイト前後と表示されるなど、ハードディスクドライブの容量表示とOSでの容量表示は食い違う場合が多い。そのためSI接頭語で表した製品の箱(ケース)や説明書などに「OSの表示により、容量が小さく表示されることがあります。」等と表記されていることが多い[38][37]。

ファイルサイズ

[編集]

ファイルや電子ドキュメントの大きさは伝統的に2進接頭辞が使われる場合が多い。これはWindowsのデフォルトがそうなっているためと思われる。

脚注

[編集]

注釈

[編集]
  1. ↑ SI接頭語の記号である小文字の k にバイナリを表す小文字の b
  2. ↑ SI接頭語の小文字ではなく大文字の K と小文字の i に変更
  3. ↑ 2進は英語でBinary
  4. ↑ 蜂の英語
  5. ↑ 「as a prefix to units of semiconductor storage capacity」と表記

出典

[編集]
  1. 1 2 佐藤登志郎、鶴田陽和、池田憲昭『診断・治療のためのコンピュータ入門』南山堂、1982年9月、49頁。NDLJP:12717957。
  2. 1 2 別所俊夫『ビジネス・パソコンの活用法』ビジネス・オーム、1981年8月、47頁。NDLJP:12241700。
  3. ↑ H. Temiz (2023年07月}). “SI and binary prefixes: Clearing the confusion”. Communications of the ACM 66 (8): 29–31. doi:10.1145/3572027.
  4. 1 2 Determining Actual Disk Size: Why 1.44 MB Should Be 1.40 MB at the Wayback Machine (archived 2007年10月24日)
  5. ↑ Morrison, Donald (1968-03-01). “Letters to the editor: Abbreviations for computer and memory sizes” (英語). Communications of the ACM 11 (3): 150. doi:10.1145/362929.362962 2026年6月9日閲覧。.
  6. ↑ Givens, Wallace (1968-06-01). “Letters to the editor: proposed abbreviation for 1024: bK” (英語). Communications of the ACM 11 (6): 391. doi:10.1145/363347.363351 2026年6月9日閲覧。.
  7. ↑ Martin, Bruce Alan (1968-10-01). “Letters to the editor: On binary notation” (英語). Communications of the ACM 11 (10): 658. doi:10.1145/364096.364107 2026年6月9日閲覧。.
  8. ↑ The Art of Computer Programming at the Wayback Machine (archived 2016年3月5日) pp.24 and 94 ※ps.gz形式
  9. ↑ “Knuth: Recent News (1999)”. 2012年1月26日閲覧。
  10. ↑ “Standardized units for use in information technology author=Markus Kuhn” (1996年12月29日). 2026年6月8日閲覧。
  11. ↑ IUCr IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS) at the Wayback Machine (archived 1997年03月27日)
  12. ↑ IUCr 1996 Report - IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS) at the Wayback Machine (archived 1997年02月14日)
  13. 1 2 “Prefixes for binary multiples”. 2026年5月23日閲覧。
  14. ↑ “IEC 60027-2:1972/AMD2:1999 – Amendment 2 - Letter symbols to be used in electrical technology. Part 2: Telecommunications and electronics”. 国際電気標準会議. 2026年5月23日閲覧。
  15. ↑ “Report of the Executive Committee for 1999”. doi:10.1107/S0108767300012873. 2026年5月23日閲覧。
  16. ↑ “About bits and bytes: prefixes for binary multiples”. 国際電気標準会議. 2026年5月23日閲覧。
  17. ↑ “IEEE 1541-2002 - IEEE Standard for Prefixes for Binary Multiples”. doi:10.1109/IEEESTD.2009.5254933. 2026年5月23日閲覧。
  18. ↑ IEEE Std 1541-2002 (Trial Use) at the Wayback Machine (archived 2012年10月14日)
  19. ↑ IEEE-SA STANDARDS BOARD STANDARDS REVIEW COMMITTEE (RevCom) MEETING AGENDA at the Wayback Machine (archived 2007年09月22日)
  20. ↑ “IEC 60027-2:2005 – Letter symbols to be used in electrical technology - Part 2: Telecommunications and electronics”. 国際電気標準会議. 2026年5月23日閲覧。
  21. ↑ HERE COME ZEBI AND YOBI at the Wayback Machine (archived 2005年08月15日)
  22. ↑ 国際文書第8版(2006) 国際単位系(SI)日本語版 訳・監修(独)産業技術総合研究所 計量標準総合センター at the Wayback Machine (archived 2019年10月08日) 33頁
  23. ↑ “IEC 80000-13:2008 – Quantities and units - Part 13: Information science and technology”. 国際電気標準会議. 2026年5月23日閲覧。
  24. ↑ “IEC 80000-13:2025 – Quantities and units – Part 13: Information science and technology”. 国際電気標準会議. 2026年5月23日閲覧。
  25. ↑ “Richard Brown - NPL”. npl.co.uk. 2026年5月23日閲覧。
  26. 1 2 “【気になるトレンド用語】今更聞けない!ハードディスクの単位”. ライブドアニュース. 2022年6月27日閲覧。
  27. ↑ “ファイル転送のトリガー”. IBM MQ 9.4.x マニュアル. IBM. 2026年5月29日閲覧。 “これらの単位では、210 規則を使用します。例えば 1 KB は 1024 バイトを示し、1 MB は 1024 KB を示します。”
  28. ↑ 国立環境研究所地球環境研究センター『国立環境研究所スーパーコンピュータ利用研究年報 令和5年度』国立環境研究所、2024年、69頁。NDLJP:14615194。「※2022年より、主記憶装置容量の単位表記をSI接頭辞表記から2進接頭辞表記に変更している。」
  29. ↑ 相田貞蔵、釘沢秀雄『電子工学概論 : 工学基礎』培風館、1987年1月、99頁。NDLJP:12711263。
  30. ↑ 中野彰、原克彦『学校へのコンピュータ導入&活用マニュアル : 徹底入門ガイド』学事出版、1994年11月、167頁。NDLJP:13280042。
  31. ↑ “キロバイトとは (kilobyte, KB): - IT用語辞典バイナリ”. www.weblio.jp. 2026年5月26日閲覧。
  32. ↑ 谷野柾雄『オフィスコンピュータ : 機能・構造から活用まで』同文館出版、1982年6月、111頁。NDLJP:12244724。
  33. ↑ F・リチャード・ムーア 著、中村和郎 訳『UNIX流Cプログラミング入門 : 基本の解説からプログラム作成の実際まで』HBJ出版局、1987年7月、27頁。NDLJP:12630601。
  34. ↑ (英語) (PDF) Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits. JEDEC Solid State Technology Association. (December 2002). pp. 7. JESD100B.01. オリジナルの2009年02月27日時点におけるアーカイブ。 2026年5月26日閲覧。
  35. ↑ “計量法”. e-Gov法令検索. 2026年5月29日閲覧。
  36. ↑ “Floppy disk storage”. IBM. 2026年5月26日閲覧。
  37. 1 2 “ポータブルハードディスク取扱説明書HDTB320FK3CA-D HDTB310FK3AA-D HDTB305FK3AA-D”. 東芝デバイス&ストレージ株式会社. 2026年6月11日閲覧。 “1テラバイト(1TB) =1,000ギガバイト(GB)、1GB=1,000,000,000(109)バイトによる算出値です。しかし、1GB=1,073,741,824(230)バイトによる算出値をハードディスク容量として用いるコンピューターオペレーティングシステムでは、記載よりも少ない容量がハードディスク容量として表示されます。”
  38. ↑ “取扱説明書 ポータブルハードディスクHDPC-UTシリーズ”. アイ・オー・データ機器. 2026年6月11日閲覧。 “フォーマット後に OS に表示される容量は、計算方法が異なるために若干減少しているように見えます。”
⌬ Phoenix Mesh CID: 未登録 IPFS未登録 📡 0ピア N=1 CRITICAL PQS A98