コンテンツにスキップ
指導者向けの公開補足

学習本文に加えて、指導の視点・背景・授業での確かめ方を示します。どなたでも読めます。

指導の焦点

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になる。

さわって確かめる:4ビットで数を表す

チェックを入れると「1」、外すと「0」。左ほど大きな重みをもつ。

2進数 0000 → 10進数 0

16通りと、最大値15は矛盾しない

Section titled “16通りと、最大値15は矛盾しない”

符号のない整数として4ビットを使うなら、0から15までを表せる。0も一つの状態として数えるので、16通りだ。

先頭の0を省略して「101」と書いても、数としての値は「0101」と同じ5になる。ただし、データを何ビットで格納するかという話では、桁数も区別する。

画像を送る時間などを求めるとき、データ量がバイト、通信速度がビット毎秒なら、そのまま割ることはできない。

たとえば80 Bは640 bit。通信速度が160 bit/sで一定と仮定すると、640 ÷ 160 = 4秒になる。実際の通信では、制御用データや待ち時間などが加わる。

用語 意味
ビット 二つの状態のどちらかを表す単位
バイト ここでは8ビットをまとめた単位
2進数 桁が上がると重みが2倍になる数の表し方
bit/s 1秒あたりに送るビット数を表す単位
  1. 5ビットで表せる状態は何通りか。計算の考え方も述べよう。
  2. 2進数の「1101」を10進数に直そう。
  3. 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。制御情報や待ち時間は含めていない。