Johoichi 情報IJohoichi共通テスト「情報I」を無料で一問一答・過去問演習
(3) コンピュータとプログラミング

情報I「2進数」練習問題と解説

2進数・進数変換は、情報Iの中でも確実に得点できる計算分野です。 変換のやり方さえ手が覚えれば、本番でも落ち着いて解けます。基礎の解説を読んだら、下の練習問題で手を動かしましょう。

1. なぜ2進数を使うのか

コンピュータは電気が「流れている/いない」の2つの状態しか区別できません。この2状態を 1 と 0 に対応させたのが2進数です。 ふだん使う10進数は0〜9の10種類の数字で位が上がりますが、2進数は0と1の2種類で位が上がります。

2. 2進数 → 10進数

各桁の重み(右から 1, 2, 4, 8, 16 …=2⁰, 2¹, 2², 2³, 2⁴ …)に、その桁の数字を掛けて足します。

例:2進数 10110 を10進数に

1×16 + 0×8 + 1×4 + 1×2 + 0×1 = 22

3. 10進数 → 2進数

2で割り続け、余りを下から順に並べます。

例:10進数 45 を2進数に

45÷2=22 余り1
22÷2=11 余り0
11÷2=5 余り1
5÷2=2 余り1
2÷2=1 余り0
1÷2=0 余り1
→ 余りを下から並べて 101101

4. 16進数との関係

16進数は 0〜9 と A〜F(10〜15)の16種類で表します。2進数4桁がちょうど16進数1桁に対応するので、長い2進数を短く書くのに便利です。

例:2進数 1100 1000 を16進数に

1100 = C、1000 = 8 → C8(10進数では 200)

5. nビットで表せる範囲と、負の数(補数)

n ビットで表せる値は 2ⁿ 通り。8ビットなら 2⁸ = 256通り(符号なしで 0〜255)です。範囲を超えると桁あふれ(オーバーフロー)という誤差が起きます。 負の数は2の補数で表すのが定番です。

例:8ビットで −5 を2の補数で表す

5 = 0000 0101
各ビットを反転 → 1111 1010
1 を足す → 1111 1011

練習問題(自作・全問無料)

問題をタップすると解答・解説が開きます。

① 10進数 26 を2進数で表しなさい。

解答:11010。26 = 16 + 8 + 2 = 1×2⁴ + 1×2³ + 0×2² + 1×2¹ + 0×2⁰。2で割った余りを下から並べても求められます。

② 2進数 100101 を10進数で表しなさい。

解答:37。各桁は 1×32 + 0×16 + 0×8 + 1×4 + 0×2 + 1×1 = 32 + 4 + 1 = 37。

③ 16進数 3A を10進数で表しなさい。

解答:58。3×16 + A(=10)×1 = 48 + 10 = 58。

④ 8ビットで表せる整数は何通りで、範囲はいくつからいくつまでか。

解答:256通り(2⁸)。符号なしなら 0 〜 255。ビット数 n のとき種類は 2ⁿ 通り、という関係は暗記しておきましょう。

⑤ 2進数 1011 + 110 を計算し、2進数で答えなさい。

解答:10001。1011(=11) + 110(=6) = 17。17 = 16 + 1 = 10001。桁上がりに注意します。

⑥ 10進数の小数 0.5 を2進数で表しなさい。

解答:0.1。小数第1位は 1/2 の位。0.5 = 1×(1/2) なので 0.1 となります。

あわせて対策したい分野

2進数の計算を、たくさん解いて手に覚えさせよう

このページの内容は、無料の「情報I 過去問演習」アプリと連動しています。登録不要・全範囲、一問一答と過去問演習をすべて無料で。解いた問題は自動で記録され、まちがえた問題だけを復習できます。

※ アプリは現在準備中です。公開までしばらくお待ちください。