IEEE 1541-2002 は、デジタルエレクトロニクスおよびコンピューティングに関連する測定単位のバイナリ倍数の接頭辞の使用に関して、電気電子学会(IEEE)が 2002 年に発行した規格です。IEEE 1541-2021 は、現在「非アクティブ」となっている IEEE 1541-2002 を改訂および置き換えています。[ 1 ]
国際単位系(SI)では、倍数を10のべき乗(k = 10³ 、 M = 10⁶など)に基づいて定義していますが、計算においては、 2のべき乗(k = 2¹⁰、M = 2²⁰など)に基づく別の定義が用いられることがあります。これは、現在の計算システムがバイナリ形式であるため、2のべき乗が最も計算しやすいからです。
コンピュータ黎明期においては、どちらの量にも同じ接頭辞を使用しても大きな誤差は生じなかった(2¹⁰ = 1,024 と 10³ = 1,000 は、有効数字2桁で等しい)。そのため、これらのコンピュータ関連量の近似的な2進数倍を示すために、SI接頭辞が借用された。
一方、ハードディスクなどのストレージデバイスの製造業者は、従来、接頭辞の標準的な10進数表記を使用しており、伝送速度やプロセッサのクロック速度にも10進数の倍数が用いられてきました。技術の進歩に伴い、これらの測定値や容量はすべて増加しました。2進数表記がより高い接頭辞にまで拡張されるにつれて、2つの表記間の絶対誤差は増大しました。一部のオペレーティングシステムがより大きな2進数表記を用いて容量を報告するため、ハードディスク製造業者に対する訴訟にまで発展した事例もあります。
さらに、ビット数やバイト数を表す記号の使い方が一貫していないという問題があります。例えば、単位記号「Mb」はメガバイトとメガビットの両方に広く使われています。IEEE 1541では、これらの量と単位記号を明確に表現するための新たな推奨事項を定めています。
2年間の試用期間を経て、2005年にIEEE 1541-2002はIEEE標準協会によって正式な規格として認定され、2008年3月27日に再確認された。
IEEE 1541 は、国際規格IEC 60027-2の修正 2 と密接に関連しています。その後、IEC 規格は、共通のISO / IEC 80000-13:2008 – 数量と単位 – 第 13 部: 情報科学と技術に調和されました。IEC 80000-13 では、ビットの記号として「b」ではなく「bit」を使用しています。
IEEE 1541は以下を推奨しています。
接頭辞の「bi」は「binary」(二進数)という単語に由来するため、例えば「kibibyte」は「キロバイナリーバイト」、つまり1024バイトを意味します。
1998年、 SI単位系を維持する組織の一つである国際度量衡局(BIPM)は、SI接頭辞は厳密には10のべき乗を指し、2進数の倍数を示すために使用すべきではないことなどを述べたパンフレットを発行し、1キロビットは1000ビットであって1024ビットではないことを例として挙げた。[ 2 ]
バイナリ接頭辞は、欧州電気標準化委員会(CENELEC)によって調和文書HD 60027-2:2003-03として採用されています。[ 3 ]この規格に準拠すると、2のべき乗にはバイナリ接頭辞が、10のべき乗にはSI接頭辞が使用されることになります。この文書は欧州規格 として採用されています。[ 4 ]
IECの2進接頭辞(kibi、mebiなど)は、オープンソースソフトウェアや科学文献において広く受け入れられつつあります。一方、他の分野での採用は遅れており、特にWindowsなどの一部のオペレーティングシステムでは、2進数の倍数にSI接頭辞(kilo、megaなど)が引き続き使用されています。
IEEE 1541の支持者は、この規格が市場における単位の混乱を解消すると強調している。一部のソフトウェア(特にフリーソフトウェアやオープンソースソフトウェア)は、この規格に従って10進SI接頭辞と2進接頭辞を使用している。[ 5 ]