情報量 – ビット | ギガバイトなど高校で習う単位と計算

情報量-ビット-表紙

" 情報量 – ビット (bit) – バイト (B)"について、高校で学習する基礎的な単位と、その計算について解説をしています。

キロバイトやギガバイトなどの単位の関係を押さえた上で、情報量についての基礎的な計算を練習しておくと、情報の授業内容を円滑に理解するのに役立つかと思います。

算数や中学の数学で学習した計算方法を使うので、単位の関係をしっかりと押さえておくと、順調に学習がはかどる単元となっています。

情報量はコンピュータ内部のことなので、話の内容が難しいですが、なるべく基礎となる学習に触れやすいような内容を使って説明を進めるようにしています。

情報量 – ビット :デジタル化に関わる内容

文字や画像や動画などの情報は、0と1の2種類の数字を使ってデジタル情報に置き換えられます。

例えば、スマホやパソコンなどで、□が24個あり、それぞれに0か1を配置した24桁の数1通りに応じて色が1つ決まるといったようなことを学び始めの段階では漠然とイメージしておけば良いかと思います。

そんなデジタル情報ですが、重いデータか軽いデータかと判断したいときもあるわけです。

そうしたときに、データ量の基本単位としてビット(bit)を使って表します。

値が大きいほど、データ量が多くて重くなるなどと思えたりするようにデータ量という数値を使うわけです。

ビット以外にも情報量を表す単位があり、それぞれのつながりを把握した上で適切に計算をすることが大切になります。

コンピュータ内部では、大きな桁数を使って内容を表現することが多いので、高校などで学習をし始めるときには難しく思うかもしれません。

そこで、なるべく平易な例を使って、情報量の単位に馴染むことができるように説明を進めるようにします。

分かりやすさを狙って、ややリアリティに欠けるかもしれませんが、高校1年の数学で学習するような内容を例として使うことにします。

情報の授業と合わせて数学の授業の足しになれば幸いです。

何通りの情報を表現できるか

【基礎知識】

1ビット(bit)で表現できる情報は2通りである。


この内容を基礎知識として、考えながら計算を進めることになります。

□が1個で1ビットだとします。

ここに0か1のいずれかを配置することで、2通りの情報を表現できるというわけです。

この基礎知識から考えながら計算で導きます。

□□だと2ビットです。

00, 01, 10, 11 と4通りの配置ができるので、4通りの情報を表現できるということになります。

算数や数学の考え方で、
2×2 = 4(通り)と計算で分かります。

一般にnビットにつき、2n通りの情報が表現できます。

□が24個あり、それぞれに0か1を配置した24桁の数1通りに応じて色が1つ決まるというようなのが、コンピュータ内部のことです。

ちなみに、16進数を6桁並べることで、色を1つ指定することができます。

リアルな内容を扱うと、学習の始めから複雑な内容になってしまうので、リアリティに欠けても平易な内容を例にして話を進めることにします。

リアルな内容を述べると、他の論点も絡んできて大変になるので、あくまで平易な数学の例に留めます。

3ビットなど、比較的に小さい数字や桁数から学習を始め、徐々に大きな桁を考えられるように練習を積むと良いかと思います。

3ビットだと、
23 = 2×2×3 = 8 なので、8通りの情報が表現できるというわけです。

0か1の配置で考えるので、2の指数乗をよく使います。

目安として、
210 = 1024 を知っておくと計算に役立ちます。

1024を目安にして考える

【練習問題】

200通りの情報を表現するには、最低でも何ビット必要かを求めてください。


<解答と解説>

こんなときに、
210 = 1024 が目安になってくれます。

2n ≧ 200 となる最小の自然数 n を求めたいわけですが、10より小さい値が n としてふさわしいとすぐに検討がつきます。

そこで、手頃な指数の計算をして絞り込みます。

【よく使う計算法則】

2a×2b = 2a+b である。

22 = 4, 23 = 8 くらいだと暗算で計算ができます。

そこで、
25 = 22×23
= 4×8 = 32 などと2の指数乗を計算することができます。

210 = 1024 だと 200を超えているので、表現をすることができますが、もっと小さな n で表現できないかということが論点となっています。

25 = 32 なので、n = 5 では、まだ表現するには至っていません。

そこで、25 = 32 を使って、
27 = 25×22
= 32×4 = 128 などと調べてみます。

まだ足りません。

ただ、近い200に近い数字なので、もう一息です。

28 = 27×21
= 128 × 2
= 256 > 200 です。

これで、
27 < 200 < 28 ということが分かりました。

よって、
2n ≧ 200 を満たす最小の自然数 n は 8 ということが分かりました。

すなわち、8ビットが求める最小のビット数ということです。

このように、2の指数乗が絡むので、指数について数学で学習した計算をうまく利用して計算を進めるという流れになります。

情報量の単位ですが、ビットだけだと学習の始めの段階では良いのですが、コンピュータ関連では、とても大きな数を扱うため、もっと大きな数を表す単位も使われます。

g に k をつけて、
1000g を 1kg と考えるのと同じ発想です。

ただ、バイト(B)という単位に関連してKB(キロバイト)という単位も出てくるのですが、1000倍でなく1024倍になっています。

210 = 1024 はバイトの単位の関係を計算する上で必須となる知識になります。

ギガバイトやキロバイトなどの関係

情報量-バイト-単位

先ほどまで使っていたビット(bit)よりも大きな情報量を表す単位であるバイト(B)から説明します。

8ビットが1バイト(B)に当たります。

例えば、24ビットだと、
24÷8 = 3 より、3バイトと単位を書き換えることができます。

バイトについても、さらに大きな単位が用意されています。

1024バイトが、1キロバイト(KB)です。

さらに大きな単位ですが、
1024キロバイトが1メガバイト(MB)です。

210 = 1024 という計算が大きな情報量の計算の役に立ちます。

1MB をBで表すということを考えてみます。

1MB = 1024KB でした。

さらに、
1KB = 1024B だったので、
1MB = 1024KB
= (1024×1024)B ということになります。

このままだと、桁の大きな数なので、指数を使って表しておきます。

1024×1024
= 210×210
= 210+10 = 220 です。

よって、
1MB = 220Bということになります。

このように、2の何乗かということを考えて、Bについての単位を書き換えることを情報の授業ではよくします。

GB(ギガバイト)やTB(テラバイト)についても、同じ単位の書き換えの流れになります。

1024MB = 1GBです。

さらに、1024GB = 1TB です。

1MB = 220B だったので、ギガバイトやテラバイトをBに書き換えてみます。

1024MB = 210MB より、
1GB = 210MB です。

さらに、
1MB = 220B だから
1GB = 210MB
= (210×220)B
= 230B です。

さらにテラバイトをバイトに書き換えてみます。

1TB = 210GB
= (210×230)B
= 240B です。

このように、2の何乗という形を使うと、スッキリとまとめることができます。

3GB は、
(3×1024×1024×1024)Bですが、
これは、3×210×210×210Bなので、
3×230Bと端的に表すことができます。

平易な例でここまでの総合的な問題を練習してみます。

総合問題

2Bで 1 つの文字や記号を表している文字コードがあったとします。

そして、この文字コードだけで形成されているテキストデータが3072文字あったとします。

この情報量が何KBかを求めてください。


<解答と解説>

2の何乗という形を使ってきましたが、問題の設定に注意です。

2Bで 1 つの文字や記号を表している文字コードということです。

これは、次のような内容になっています。

2文字だと、
(2+2)B = 4B が必要、
3文字だと、
(2+2+2)B = 6B が必要ということです。

つまり、
3072文字だと、
2×3072 = 6144B が必要ということになります。

この6144BをKBに直せば求める答えとなります。

1024B = 1KB ですから、
6144 を 1024 で割ると、KBの単位に直せます。

つまり、
6144÷1024
= 6 より、
6144B = 6KB です。

したがって、
6KB が求める答えです。

状況によっては、2の何乗という形を使わずに、1024の割り算の方が楽に答えに辿り着けるときもあるので、問題を解く練習を積んで慣れておくと良いかと思います。

ちなみに、6KBをbit(ビット)に直すと次のようになります。

6KB = 6×1024B
= 6144B です。

さらに、
1B ~ 8bit だったので、
6KB = 6144B
= (6144×8)bit
= 49152bit です。

KBなど、bitよりも大きな単位を用意しておかないと、大きな数の処理が複雑になってしまいます。

49152bit は、KBを使うと、
6KBとスッキリした形で表せています。


【関連する情報の記事】

2進数-補数
16進数-変換


それでは、これで今回の記事を終了します。

読んで頂き、ありがとうございました。