二進
接頭辞とは、
コンピュータが扱うデータの大きさを表す
単位(
ビット、バイトなど)に使用される
接頭辞で、2のべき乗を表すために用いられます。例えば、「キロ」は
SI接頭語では1000倍を意味しますが、二進
接頭辞では1024倍を意味します。
歴史的背景
デジタル
コンピュータが普及するにつれて、データの大きさを表す
単位として、キロ、メガ、ギガといった
SI接頭語が使われるようになりました。しかし、
コンピュータは二進数で動作するため、データの大きさは2のべき乗で表現されることが多く、
SI接頭語が表す10のべき乗との間に
誤差が生じるようになりました。
例えば、1
キロバイトは1000バイトではなく1024バイト、1
メガバイトは1000000バイトではなく1048576バイトとなるのが実態です。この
誤差は、データの規模が大きくなるにつれて無視できなくなり、混乱の原因となっていました。
特に、ハードディスクの容量表示などにおいて、メーカーが
SI接頭語を使用し、OSが二進
接頭辞を使用するといった状況も生じました。これにより、ユーザーは実際の容量と表示される容量にずれが生じ、不便を感じることがありました。
IECによる規格化
このような混乱を解消するため、IEC(
国際電気標準会議)は1998年に、
SI接頭語とは異なる二進
接頭辞を承認しました。この規格では、2の10乗を意味する「キロ」に対して「キビ」、2の20乗を意味する「メガ」に対して「メビ」、2の30乗を意味する「ギガ」に対して「ギビ」といった新しい
接頭辞が導入されました。これにより、1024バイトは1
キビバイト、1048576バイトは1
メビバイトと表記されるようになりました。
この規格は
IEEEでも
IEEE 1541-2002として成立し、
IEC 60027-2の規定は
IEC 80000-13:2008に取り込まれました。しかし、現状では普及が進んでおらず、混乱の解消には至っていません。情報技術系企業でさえ、利用度は高くありません。
JEDECの対応
一方で、JEDEC(電子デバイス技術協議会)は1999年にJESD100-Bを定め、記憶装置の容量を表す場合に限り、
SI接頭語と同様の名称を2のべき数に用いると定義しました。つまり、この規格においては、1024バイトを1
キロバイト、1048576バイトを1
メガバイトと呼ぶことが適正とされています。
従来の用法
従来の用法では、キロの記号は
SI接頭語の「k」と区別するために「K」が使用されることがあります。それ以外の記号は
SI接頭語と同じで、区別が難しいのが現状です。
IEC規格の
接頭辞は、
SI接頭語の先頭部分に「bi」を付けたものが語源です。記号は
SI接頭語の記号に「i」が付きます。ただし、キビについては「Ki」と大文字になります。2007年時点では、この表現方法はまだ広く使われていません。
2005年までは、
SI接頭語のエクサに対応するエクスビまでしか定められていませんでしたが、2005年8月には、ゼビ、ヨビが正式に導入されました。
二進
接頭辞と
SI接頭語の使い分けは、分野や場合によって曖昧で、混乱を招くことがあります。キロでは
誤差が約2%ですが、メガでは約5%、ギガでは約7%、テラでは約10%と、乗数が大きくなるにつれて
誤差も大きくなります。
例えば、
半導体メモリの容量は二進
接頭辞で表されることが多く、
CPUの
クロック周波数や
通信速度は
SI接頭語で表されることが多いです。しかし、
フロッピーディスクの容量のように、二進
接頭辞と
SI接頭語が混合して使われることもあります。
ハードディスクドライブの容量は
SI接頭語で表示されることが多いですが、OSの表示は二進
接頭辞を使用することが多く、表示される容量にずれが生じます。このような状況を避けるため、IEC規格では二進
接頭辞の明確な表示が求められています。
ファイルや電子ドキュメントの大きさは、伝統的に二進
接頭辞が使われることが多いです。これは、Windowsのデフォルトが二進
接頭辞を使用しているためと考えられます。
まとめ
二進
接頭辞は、
コンピュータで扱うデータの大きさを正確に表すために重要な概念です。
SI接頭語との違いを理解し、適切な
単位を使用することが、混乱を避けるために必要です。現状ではまだ普及が進んでいないため、注意が必要です。
今後、二進
接頭辞の普及が進むことで、データの大きさを正確に理解できるようになることが期待されます。