2進数と情報量
指導者向けの公開補足
学習本文に加えて、指導の視点・背景・授業での確かめ方を示します。どなたでも読めます。
指導の焦点
nビットの組合せ数2ⁿと、符号なし整数の最大値2ⁿ−1を区別する。0を含めて数えることを、4個のスイッチで確認する。
一歩踏み込んだ背景
ビット列自体に、符号や文字といった意味は備わっていない。数値として解釈する場合も、符号付き表現や固定小数点など、採用する規則で意味が変わる。
授業での確かめ方
同じ0101を「数」「状態の番号」の二つとして読ませる。スイッチを全探索して16通りを確認した後、8ビットへ一般化できる理由を言葉で説明させる。
制度・規格等は本文末尾の参考資料も確認してください。
この単元でできるようになること
Section titled “この単元でできるようになること”- nビットで表せる状態の数を説明できる。
- 4ビットの2進数を10進数に直せる。
- ビットとバイトの違いを説明できる。
0と1は、二つの状態につけた名前
Section titled “0と1は、二つの状態につけた名前”コンピュータでは、二つの状態を区別してデータを表す。その状態を、説明のために0と1と書く。0と1のどちらかを表す単位を**ビット(bit)**という。
ランプを例にすると、2個では「消消」「消点」「点消」「点点」の4通りになる。1個増えるたびに、組合せは2倍になる。
| ビット数 | 組合せの数 |
|---|---|
| 1ビット | 2通り |
| 2ビット | 2 × 2 = 4通り |
| 3ビット | 2 × 2 × 2 = 8通り |
| 4ビット | 2 × 2 × 2 × 2 = 16通り |
nビットなら2ⁿ通り。 ただし、その組合せを数字、文字、色などの何に対応させるかは、別に決める必要がある。
数を表すときは、桁に重みをつける
Section titled “数を表すときは、桁に重みをつける”10進数の「111」は、100 + 10 + 1だ。同じ1でも、置かれた桁で重みが違う。
2進数も同じように考える。右から順に、重みが1、2、4、8……と2倍になる。4ビットの「0101」なら、1になっている桁の重みを足し、4 + 1 = 5になる。
16通りと、最大値15は矛盾しない
Section titled “16通りと、最大値15は矛盾しない”符号のない整数として4ビットを使うなら、0から15までを表せる。0も一つの状態として数えるので、16通りだ。
先頭の0を省略して「101」と書いても、数としての値は「0101」と同じ5になる。ただし、データを何ビットで格納するかという話では、桁数も区別する。
単位をそろえて計算する
Section titled “単位をそろえて計算する”画像を送る時間などを求めるとき、データ量がバイト、通信速度がビット毎秒なら、そのまま割ることはできない。
たとえば80 Bは640 bit。通信速度が160 bit/sで一定と仮定すると、640 ÷ 160 = 4秒になる。実際の通信では、制御用データや待ち時間などが加わる。
| 用語 | 意味 |
|---|---|
| ビット | 二つの状態のどちらかを表す単位 |
| バイト | ここでは8ビットをまとめた単位 |
| 2進数 | 桁が上がると重みが2倍になる数の表し方 |
| bit/s | 1秒あたりに送るビット数を表す単位 |
- 5ビットで表せる状態は何通りか。計算の考え方も述べよう。
- 2進数の「1101」を10進数に直そう。
- 120 Bを240 bit/sで送る。制御用データなどを無視すると何秒かかるか。
問1の解答例を見る
2の5乗で32通り。各ビットに0と1の二つの状態があり、それを五桁分組み合わせるので、2×2×2×2×2=32となる。
問2の解答例を見る
13。各桁の重みは左から8・4・2・1なので、1×8+1×4+0×2+1×1=13となる。
問3の解答例を見る
4秒。120 B=960 bitなので、960 bit÷240 bit/s=4 s。制御情報や待ち時間は含めていない。