情報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 となります。
あわせて対策したい分野

