ギビバイトという単位

ギビバイト(GiB)という単位がある。
IEC(国際電気標準会議)が1998年に承認した、比較的新しい単位だ。皆さんご存知だろうか。

実はこの単位、お馴染みのギガバイト(GB)とほぼ同じ意味だったりする。
だったらギガバイトでいいんじゃない?と思われることだろう。僕もそう思うし、たぶんみんなそう思っているから、ご存知の通り全くさっぱり普及していない。
もちろん、定義上は全く同じ意味ではない。

キロは1000ではなく1024

そもそもギガとは、千倍を意味するキロの更に千倍のメガの、更に千倍という意味のSI接頭辞(国際的に定められた単位)だ。コンピュータ以外の日常生活ではキロしか馴染みがないけれど、たとえば1キログラムの千倍は1メガグラム(1トン)で、その千倍は1ギガグラムと表すことができる。

しかし、コンピュータの世界の慣例では少し意味が異なる。キロもメガもギガも、ひとつ下位の接頭辞の1024倍を表すのである。このような中途半端な数になる理由には、コンピュータの仕組みが関係している。

現在のコンピュータは、あらゆるデータを内部では0か1の数字の集まり、つまり2進法で表しており、一般的には2進法で8桁分を1バイトとして定義・処理している。
コンピュータは2進法で計算するので、2のn乗の数が最も扱いやすく効率が良い。その為、キロの近似値である2の10乗(2進数10桁)=1024バイトを1キロバイトと定めているのである。さらに1キロバイトの1024倍が1メガバイトで、同様にギガバイト、テラバイト、ペタバイトと続く。

ギビバイトが生まれた理由

つまり、キログラムなど(SI単位)を日常生活で使う時と、キロバイトとではキロの意味が1000倍と1024倍で、24ほど違うのだ。この程度の誤差は大抵、あまり気にはならないだろう。
しかし単位がギガになると、1000の3乗=10億に対してコンピュータでは1024の3乗=約10億7374万なのである。約七千万違うと言われれば、そこそこ気になってくる。
言うまでもなく接頭辞がテラやペタなど上位なれば、更に誤差は大きくなる。

さてここで、やっと本題だ。
この誤差は無視できないので明確に区別したい。いや、したい事にしてみる。
そこで登場するのがギビバイト(GiB)だ。これには明確に、1024の3乗の意味しかない。だからギガのように、その正確な数が1000の3乗なのか1024の3乗なのかを考える必要がなくなる。おお、素晴らしい!……かな?

ギビバイトは必要か

これ、ほとんどの人がピンとこないのが正直なところだろうと思う。
というのも、コンピュータのライトユーザにとって誤差を実際に意識する場面はほとんど無いだろうし、コンピュータに詳しい人にしてみれば、ギガバイトといえば通常は1024の3乗を表すのが当たり前のことなのである。誰もギガバイトを1000の3乗かも?なんて考えたりしないのだ。
なので、学者さんや仕様書を書く人にはギビバイトも必要かもしれないが、他一般の人にとってそれが必要となることは、今後も永遠に無いだろう。だから覚える必要はないし、覚えていてもこの記事のようにウンチクのネタ程度にしか使えない。
厳密さが必須で、見聞きする人が用語の意味を知っている場面では使っても良いが、知らない人が居ることも想定できる場面では、かえって混乱を招くだけだろう。

ストレージ容量の謎

ただ一つだけ、例外がある。
HDDやSSDなどの、ストレージ容量のパッケージ表記だ。これは何と、各単位を千倍として計算している。その為たとえば2TBと表記してあるHDDは、実際には約1.82TB(TiB)しかなく、PCでの表示もそうなる。
恐らくは少しでも容量を多く見せる為に考え出された涙ぐましい工夫だが、いつも少し損した気分になるので、この慣習はそろそろ止めて頂きたいものだ。

そういえば、大昔のゲームソフト(ROMカセット)では単位を「メガ」とだけ表記してあったけど、実はビット容量表記(バイト容量の8倍の値)だったのでした。(おじいちゃんの昔話)

まとめ

実質的に必要性のない複雑さは、無駄である。言葉というものは、必要なぶんだけ意味が伝わればいい。
そしてこの「○ビバイト」という呼び方、キビバイト、メビバイト、ギビバイト、テビバイト…と続くのだけれど、なんだかこの響きはとっても変な感じがする。それにキビとギビが見分けづらい。
だから使いたくなくて、それがこの記事を書いた理由なのだけどね!

参考URL

2進接頭辞 - Wikipedia
通信の世界ではkbps(キロビット毎秒)が1000bpsを意味する事が多いらしい。

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://itpc.blog87.fc2.com/tb.php/176-b462f9c5
この記事にトラックバック(FC2ブログユーザ用)