情報量の単位

ビット

2進1ケタを 1ビット (bit) という。 bit の名は binary digit に由来する。(binary = 「2進の」、digit = 「ケタ」) bit は情報量の最小単位と考えられる。

バイト

8ビットを 1バイト (byte) という。byte を、短く B (大文字)と書くことがよくある。 昔は、1バイトが8ビットとは限らなかったが、現在は普通 1バイトと言えば8ビットである。

コンピュータ内では文字も数によって表現する。すなわち、各文字に相異なる数値を割り当てることにより文字を区別する。(例: A に 65 を、z に 122 を割り当てる。) 1バイトで表せる数は0から255までの256通りであるから、文字に1バイトの数値を割り当てることにすれば、原理的には256通りの相異なる文字を扱えることになる。 256通りあれば大抵の英文に表れる文字を区別するのに十分であるから、英文字は1バイトで表すことが多い。このことが、バイトという単位がよく用いられる一つの理由になっている。

ただし、実際には、256通りの全部を使ってはいない。 まず、アルファベットが26文字あり、大文字小文字があるので、26 * 2 = 52 文字を表せることが必要。さらに、.,;!? などの記号がいくつか必要、0から9の数字も必要なので、2^6 = 64 通りでは不足。(2進6ケタあれば、0から63までの64通りを表現できる。) 7ビット使えば、2^7 = 128 通りの記号を表せるので、まず十分。すると、8ビット目は余ってしまうことになるが、あまった8ビット目の役割については、またあとで説明する。コンピュータ内での文字の表現については、のちの授業で詳しく説明する。

8 = 2^3 なので、8ビットという大きさはコンピュータにとっては切りが良い。

キロ・メガ・ギガ・テラ

ビットやバイトは単位としては小さい。 そこで、大きな情報量を表すときには、キロ(K)バイト、メガ(M)バイト、ギガ(G)バイト、テラ(T)バイトなどの表現を使う。 (もちろん、キロ(K)ビット、メガ(M)ビット、ギガ(G)ビット、テラ(T)ビットなどの 表現も使う。)

ただし、これらは国際単位系のキロ, メガなどとは違っているので注意が必要である。

キロ

「1キログラム(kg)」と言ったときの「キロ」は国際単位系の「キロ」であって「1000倍」を表すから、1キログラムは 1000 グラムである。しかし、「1キロバイト」と言ったときの「キロ」は「1000倍」ではない。1 キロバイト(KB) は 1024 バイトであり、言い換えれば2の10乗バイトである。1024 が 2 の10乗であることは覚えておこう。

1024は、1000に近くて、しかも 2 の何乗という形なのでコンピュータにとっては切りがよいので、情報量の単位について言うときには「1024倍」を「キロ」と呼ぶ習慣ができた。よく見ると、1kg の k は小文字で 1キロバイトの 1KB は 大文字の K で表されていることに気付いただろうか?

メガ

国際単位系では M (メガ)は 100万 (= 1000 * 1000)倍を表す。 FM 放送の周波数が 89.4 MHz (メガヘルツ)だ、などというときの「メガ」はこれである。

一方、「1メガバイト(MB)」といったときの「メガ」は 1024 * 1024 バイト = 1048576 バイト = 2^20 (2の20乗)バイトである。この 1048576 という数は覚えなくて良いが、「メガ」が 2^20 であることは覚えておこう。(1024 * 1024 = (2^10)^2 = 2^(10*2) = 2^20)

M を小文字にすると m (ミリ)になってしまうので、 M の大文字で 2^20 を表して、m で100万を表す、という約束にするわけにはいかない。 結局、どちらも M で表すことにして、文脈でどちらか判断しなければならない。

ギガ

1G (1ギガ) は国際単位系では 10億(=10の9乗=1000の3乗)を意味する。 携帯電話の電波が何ギガヘルツだ、というときのギガはこれである。

一方、「1ギガバイト(GB)」といったときの「ギガ」は 1073741824バイト = 1024^3 = 2^30 バイトである。 1073741824 という数は覚えなくて良いが、 「ギガ」が 1024 の3乗であり、それが 2の30乗であることは覚えておこう。

ところで、ずるいことに、だいぶ前からメーカはハードディスク(←データを記録する装置の一種, 詳しい話はそのうち)の容量を表すのに、2^30ではなく、国際単位系の G を使っている。 こうすると一見容量が少し大きく見えるからである。 つまり、2^30 を G とした時の 1GB は国際単位系では 1.073741824 GB となって、7% ほど大きく見える。昔から国際単位系を使うのが慣習だったのならともかく、以前は 2^30 をギガとして、容量を表していたのだからおかしな話である。 しかも、メモリの容量を表すときは必ず2^30のほうのギガを使うのだから、ますます奇妙である。(メモリとは何かについては、のちの授業で説明。)

この授業では、特に断わらない限り、情報量を表す際にギガという単位を使ったときは 2 の 30 乗 を表すものとする。

テラ

国際単位系の 1T(テラ)は1G のまた1000倍、すなわち、1兆である。 これについても、情報量を表すときには 1T と書いて1000の4乗ではなく1024の4乗を表すのが普通。

さらに大きな単位として、10の15乗(テラの1000倍)を表すP(ペタ)や、さらにその1000倍を表すE(エクサ)があり、これらについてもやはり、1000 を 1024 に置き換えた呼び方が存在する。しかし、これらの非常に大きな単位は今の所使われる頻度が低い。

演習