コンピューターの世界で使われる「bit(ビット)」や「Byte(バイト)」という単位。
「光回線の速度1Gbps」「スマホのメモリー容量128GB」「録画用ハードディスクの容量4TB」などと、量や大きさを簡潔に表現するために、G(ギガ)や T(テラ)などの「SI接頭辞」を付けてよく用いられています。
量や大きさを表すときに、人間は10という区切りの良い数字で区切られていた方が理解しやすいです。
しかし、コンピューターは、オン (1) か オフ (0) の世界。0と1という数値しか扱わないので、2進数の世界で表した方が都合が良いのです。
コンピューターの世界用に作られた「2進接頭辞」というものがあるのを知っていますか?
作られてから何年も経つのに、使われているのをあまり見かけません。
そんな「2進接頭辞」をご紹介します。
2進接頭辞の一覧
2n | 接頭辞 | 記号 | 十進数表記 |
---|---|---|---|
210 | キビ (kibi) | Ki | 1,024 |
220 | メビ (mebi) | Mi | 1,048,576 |
230 | ギビ (gibi) | Gi | 1,073,741,824 |
240 | テビ (tebi) | Ti | 1,099,511,627,776 |
250 | ペビ (pebi) | Pi | 1,125,899,906,842,624 |
260 | エクスビ (exbi) | Ei | 1,152,921,504,606,846,976 |
270 | ゼビ (zebi) | Zi | 1,180,591,620,717,411,303,424 |
280 | ヨビ (yobi) | Yi | 1,208,925,819,614,629,174,706,176 |
2進接頭辞は、SI接頭辞の後ろに「i」を付け足して、「~ビ」と発音するものが付け加えられただけなので、分かりやすいですね。
「1MiB」(イチメビバイト)と表記されていれば、「1,048,576B」であるという意味になります。
残念ながら、現在のところ一般的な表記として普及していないようです。
「2進接頭辞」と「SI接頭辞」 誤差が生じる例
2進接頭辞があまり浸透していないためか、SI接頭辞とごちゃ混ぜで使われていたりします。
例えば、Windows 10 のディスクのプロパティー画面のこちら。
1TB の容量として売られているSSDですが、PCに接続すると 930GB(ギガバイト)になっています。
本来は、930GiB(ギビバイト)と表示するべきなのですが..。
ズレの原因を解説
930GBという表記で、SI接頭辞が付いているので、10進数で考えて変換すると、
930GB = 930×109B = 930,000,000,000バイト
になります。
ところが、998,833,020,928バイト、と表示されていて、ほぼ1TBです。
どういうこと?? という状態になりますよね!
2進数であることを示す2進接頭辞を付けて、930GiBと表記されていれば、
930GiB = 930×230B =930×1,073,741,824B =998,579,896,320B
となり、数字はほぼ合っていますよね。
930GB は、930GiB という意味で書かれているということです。
数字が大きくなるほど、大きな違いが生ずる
接頭辞の違いによる誤差は、数字が小さいうちは、
- 1KB = 1,000B
- 1KiB = 1,024B
と、24の違いなので、2.4%の誤差ですが、数字が大きくなると、
- 1TB = 1,000,000,000,000B
- 1TiB = 1,099,511,627,776B
99,511,627,776 もの大きな誤差(約10%)が生じてしまいます。
今後は、ペタバイト以上の時代に向かって行きます。
ペタの時代になると、
- 1PB = 1,000,000,000,000,000B
- 1PiB = 1,125,899,906,842,624B
なので、125,899,906,842,624 もの大きな誤差(約12.6%)になります。
そろそろ2進接頭辞を使って、正しい表記にしてもらいたいものですね!
関連記事