2026年5月12日
中間テストで二進法の計算が出る。やり方を覚えれば確実に解ける
情報Ⅰの中間テストでは、二進法(にしんほう)の問題がほぼ確実に出題されます。配点も高いことが多いです。
でも安心してください。二進法の計算は「やり方」さえ覚えれば、誰でも解けます。この記事では、中間テストに出る二進法の計算方法をすべて解説します。
情報Ⅰの試験対策まとめと合わせて勉強すれば、中間テストの準備は万全です。
そもそも二進法とは
私たちが普段使っている数の数え方は「10進法」です。0〜9の10個の数字を使い、10になると桁が上がります。
二進法は「0と1の2個の数字だけ」を使う数え方です。2になると桁が上がります。
| 10進法 | 2進法 | 10進法 | 2進法 |
|---|---|---|---|
| 0 | 0 | 5 | 101 |
| 1 | 1 | 6 | 110 |
| 2 | 10 | 7 | 111 |
| 3 | 11 | 8 | 1000 |
| 4 | 100 | 9 | 1001 |
なぜコンピュータは二進法を使うのか? コンピュータの中身は電気回路です。電気は「ON(1)」か「OFF(0)」の2つの状態しかありません。だから0と1だけで表現する二進法がコンピュータに最適なのです。
10進法 → 2進法の変換(割り算法)
「2で割り続けて、余りを下から読む」のがポイントです。
なぜ2で割ると変換できるのか?
10進法の数を2で割ると、余りは「その桁が1か0か」を表します。商をさらに2で割ると、次の桁がわかります。これを繰り返すと、すべての桁が求まります。10進法で「10で割ると一の位がわかる」のと同じ原理です。
例: 13を2進法に変換する
13 ÷ 2 = 6 ... 余り 1
6 ÷ 2 = 3 ... 余り 0
3 ÷ 2 = 1 ... 余り 1
1 ÷ 2 = 0 ... 余り 1
余りを下から読む → 1101 答え: 13(10進法)= 1101(2進法)
例: 25を2進法に変換する
25 ÷ 2 = 12 ... 余り 1
12 ÷ 2 = 6 ... 余り 0
6 ÷ 2 = 3 ... 余り 0
3 ÷ 2 = 1 ... 余り 1
1 ÷ 2 = 0 ... 余り 1
余りを下から読む → 11001 答え: 25(10進法)= 11001(2進法)
コツ
- 商が0になるまで割り続ける
- 余りは必ず0か1になる
- 最後に「下から上に」読むのを忘れない
2進法 → 10進法の変換(位取り法)
「各桁に2のべき乗をかけて足す」のがポイントです。
なぜべき乗をかけると変換できるのか?
10進法の「253」は 2×100 + 5×10 + 3×1 です。同じように、2進法の各桁は「2の何乗の位か」を表しています。右端が2⁰(=1)の位、その左が2¹(=2)の位…と続きます。各桁の数字(0か1)にその位の値をかけて全部足せば、10進法の値になります。
2のべき乗を覚えよう
| 2⁰ | 2¹ | 2² | 2³ | 2⁴ | 2⁵ | 2⁶ | 2⁷ |
|---|---|---|---|---|---|---|---|
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 |
例: 10110(2進法)を10進法に変換する
1 0 1 1 0
↓ ↓ ↓ ↓ ↓
2⁴ 2³ 2² 2¹ 2⁰
↓ ↓ ↓ ↓ ↓
16 8 4 2 1
1×16 + 0×8 + 1×4 + 1×2 + 0×1
= 16 + 0 + 4 + 2 + 0
= 22 答え: 10110(2進法)= 22(10進法)
もう1つ例題: 110101を変換する
1がある桁だけ足します:2⁵(32) + 2⁴(16) + 2²(4) + 2⁰(1) = 32 + 16 + 4 + 1 = 53
このように「0」の桁は無視して、「1」の桁の2のべき乗だけを足せばOKです。
コツ
- 右端が2⁰(= 1)からスタート
- 「1」の桁だけ足せばいい(「0」の桁は無視してOK)
- 2のべき乗表を書いてから計算すると間違いにくい
16進法との変換
16進法は0〜9とA〜Fの16個の記号を使う数え方です。2進法と16進法の変換は「4桁ずつ区切る」だけで簡単にできます。
| 10進 | 2進 | 16進 | 10進 | 2進 | 16進 |
|---|---|---|---|---|---|
| 0 | 0000 | 0 | 8 | 1000 | 8 |
| 1 | 0001 | 1 | 9 | 1001 | 9 |
| 2 | 0010 | 2 | 10 | 1010 | A |
| 3 | 0011 | 3 | 11 | 1011 | B |
| 4 | 0100 | 4 | 12 | 1100 | C |
| 5 | 0101 | 5 | 13 | 1101 | D |
| 6 | 0110 | 6 | 14 | 1110 | E |
| 7 | 0111 | 7 | 15 | 1111 | F |
変換の例
2進法 → 16進法:
1101 | 0110 → D | 6 → D6
16進法 → 2進法:
3 | F → 0011 | 1111 → 111111 コツ:4桁に足りない場合は左に0を補う(例: 11 → 0011)。この対応表を覚えておくとテストで速いです。
なぜ4桁ずつで変換できるのか?
16 = 2⁴ だからです。2進法の4桁で表せる範囲は0〜15(0000〜1111)で、これは16進法の1桁(0〜F)とぴったり対応します。だから4桁ずつ区切れば、そのまま16進法の各桁になります。
テストでよく出る16進法の問題
「色コード」の問題が出ることがあります。Webページの色は #FF0000(赤)のように16進法で表します。FF = 11111111(2進法)= 255(10進法)です。
2進法の足し算
10進法と同じ「筆算」でできます。ただし「1 + 1 = 10」(繰り上がり)になるのがポイントです。
繰り上がりの仕組み
10進法では「9 + 1 = 10」で繰り上がりますよね。2進法では「1 + 1 = 10」で繰り上がります。使える数字が0と1しかないので、1の次はもう桁が上がるのです。10進法の筆算と同じ要領で、右の桁から順に計算し、繰り上がりを上の桁に持っていきます。
基本ルール
- 0 + 0 = 0
- 0 + 1 = 1
- 1 + 0 = 1
- 1 + 1 = 10(繰り上がり)
- 1 + 1 + 1 = 11(繰り上がり)
例題: 1011 + 1101
1 1 ← 繰り上がり
1 0 1 1
+ 1 1 0 1
-----------
1 1 0 0 0
検算: 11 + 13 = 24 = 11000 ✓ 2進法の引き算
引き算は筆算だと複雑になりがちです。テストでは10進法に変換して計算し、戻す方法が確実です。
1100(2進法)= 12(10進法)
0101(2進法)= 5(10進法)
12 - 5 = 7(10進法)
7(10進法)= 111(2進法)
答え: 1100 - 0101 = 0111 引き算で迷ったら、10進法に変換してから計算するほうがミスが少ないです。
テストに出やすいパターン5選
| パターン | 問題例 | 解法 |
|---|---|---|
| 10進→2進 | 「42を2進法で表せ」 | 割り算法 → 101010 |
| 2進→10進 | 「110011を10進法で表せ」 | 位取り法 → 51 |
| 2進の足し算 | 「1010 + 0111」 | 筆算 → 10001 |
| 16進との変換 | 「10101100を16進法で」 | 4桁区切り → AC |
| ビット数 | 「8ビットの最大値は?」 | 2⁸-1 = 255 |
覚えておくと便利:8ビット = 0〜255、16ビット = 0〜65535
テストでよくある間違い
間違い1: 余りを上から読んでしまう
10進法→2進法の変換で、余りを「上から下」に読むと答えが逆になります。例えば13の変換で余りが 1, 0, 1, 1 と出たとき、上から読むと「1011」(正解は「1101」)。必ず下から上に読むのを忘れないでください。
間違い2: 2のべき乗の位置をずらす
2進法→10進法の変換で、右端を2¹から始めてしまう間違いが多いです。右端は必ず2⁰(= 1)からスタートです。1つずれると答えが全部2倍になってしまいます。
間違い3: 16進法でA〜Fを忘れる
16進法では10=A、11=B、12=C、13=D、14=E、15=Fです。「1010を16進法に変換」で「10」と書いてしまう人がいますが、正解は「A」です。10以上は必ずアルファベットに変換しましょう。
練習問題
問題1
10進法の37を2進法で表しなさい。
問題2
2進法の1010011を10進法で表しなさい。
問題3
2進法で 1101 + 1011 を計算しなさい。
問題4
16進法の2Bを2進法で表しなさい。
問題5
2進法の11110000を16進法で表しなさい。
解答・解説
問題1の解答: 100101
37 ÷ 2 = 18 ... 余り 1
18 ÷ 2 = 9 ... 余り 0
9 ÷ 2 = 4 ... 余り 1
4 ÷ 2 = 2 ... 余り 0
2 ÷ 2 = 1 ... 余り 0
1 ÷ 2 = 0 ... 余り 1
答え: 100101(検算: 32+4+1=37 ✓) 解き方:37を2で割り続けます。商が0になるまで割って、余りを下から読みます。検算として、32+4+1=37 で合っていることを確認しましょう。テストでは検算する時間を確保するのが大切です。
問題2の解答: 83
1 0 1 0 0 1 1
64 32 16 8 4 2 1
1×64 + 0×32 + 1×16 + 0×8 + 0×4 + 1×2 + 1×1
= 64 + 16 + 2 + 1 = 83 解き方:右端から2⁰, 2¹, 2², ... と位を割り当てます。「1」がある桁の値だけを足します。この問題では64+16+2+1=83です。「0」の桁は計算しなくてよいので、1の桁だけに注目するのがコツです。
問題3の解答: 11000
1 1 ← 繰り上がり
1 1 0 1
+ 1 0 1 1
----------
1 1 0 0 0
答え: 11000(検算: 13+11=24 ✓) 解き方:右の桁から順に足していきます。1+1=10で繰り上がり、0+0+1(繰り上がり)=1、1+1=10で繰り上がり、1+1+1(繰り上がり)=11。検算として10進法で確認:13+11=24、11000(2進法)=16+8=24で一致します。
問題4の解答: 101011
解き方:16進法の各桁を4桁の2進法に変換します。2 → 0010、B(=11) → 1011。合わせて 00101011。先頭の0を省略して 101011 が答えです。Bが11であることを忘れないようにしましょう。
問題5の解答: F0
解き方:2進法を右から4桁ずつ区切ります。1111 | 0000。1111=15=F、0000=0。合わせて F0 です。1111がFであることは頻出なので暗記しておきましょう。
テスト前の最終チェック
- ✅ 2のべき乗(1, 2, 4, 8, 16, 32, 64, 128)を暗記した
- ✅ 10進法→2進法の割り算法ができる
- ✅ 2進法→10進法の位取り法ができる
- ✅ 2進法の足し算の筆算ができる
- ✅ 16進法と2進法の変換(4桁ずつ)ができる
- ✅ 8ビットの最大値(255)を覚えた
まとめ
- 10進法→2進法: 2で割り続けて、余りを下から読む
- 2進法→10進法: 各桁に2のべき乗をかけて足す
- 16進法との変換: 4桁ずつ区切る
- 足し算: 1 + 1 = 10(繰り上がり)を忘れない
- 引き算: 迷ったら10進法に変換してから計算する
やり方を覚えたら、あとは練習あるのみです。同じパターンの問題を5〜10問解けば、テスト本番でも迷わず解けるようになります。
次のステップ
- 情報Ⅰの試験対策まとめ — テストに出る全分野を解説
- 二進法の計算【期末テスト対策】 — より発展的な内容
- 変数とif文の解説 — プログラミング分野の基礎
- DNCL(擬似言語)ガイド — 共通テスト用言語
- 中間テスト HTML/CSS復習 — 実技問題対策