MENU

3-06 2進数の計算

>> プリント

10進数と同じように、2進数で足し算や掛け算などの四則演算はどのようにするのでしょうか。

1. 2進数と10進数の表記方法

数値がどの進数で表記されているかを明確にするため、括弧あるいは、下付き文字で進数を表します:

  • 2進数: $1011(2)$ / $1011_2$(括弧の2は「2進数」を意味)
  • 10進数: $11(10)$ / $11_{10}$(括弧の10は「10進数」を意味)

例:2進数と10進数で同じ値であれば、イコールで結びます。

  • 101(2) = 5(10)(2進数の101は、10進数の5と同じ値)
  • 1000(2) = 8(10)(2進数の1000は、10進数の8と同じ値)

この表記法により、「101」が2進数なのか10進数なのかを区別できます。

2進数と10進数の対応表

2進数10進数
$ 0_2 $$ 0_{10}$
$ 1_2$$ 1_{10}$
$ 10_2$$ 2_{10}$
$ 11_2$$ 3_{10}$
$ 100_2$$ 4_{10}$
$ 101_2$$ 5_{10}$
$ 110_2$$ 6_{10}$
$ 111_2$$ 7_{10}$
$ 1000_2$$ 8_{10}$
$ 1001_2$$ 9_{10}$
$ 1010_2$$ 10_{10}$
$ 1011_2$$ 11_{10}$
$ 1100_2$$ 12_{10}$
$ 1101_2$$ 13_{10}$
$ 1110_2$$ 14_{10}$
$ 1111_2$$ 15_{10}$
$ 10000_2$$ 16_{10}$

問いかけ:規則性を見つけよう

上の表をよく見てください。10(2), 100(2), 1000(2), 10000(2)(1の後に0が続く2進数)に注目してみましょう。

2進数10進数
$ 10_2$$ 2_{10}$
$ 100_2$$ 4_{10}$
$ 1000_2$$ 8_{10}$
$ 10000_2$$ 16_{10}$

何か規則性に気づきませんか?

2進数の規則性

気づきましたか?1の後に0が続く2進数は、すべて2のべき乗になっています:

  • 10(2) = 2¹ = 2(10)
  • 100(2) = 2² = 4(10)
  • 1000(2) = 2³ = 8(10)
  • 10000(2) = 2⁴ = 16(10)

これが2進数の位取り記数法の基本です。

2進数から10進数への変換方法

2進数の各桁には「重み(2のべき乗)」があります:

2進数の桁重み2のべき乗表記
右から1桁目12⁰
右から2桁目2
右から3桁目4
右から4桁目8
右から5桁目162⁴

和の規則:2進数は各桁の重みの合計

2進数から10進数への変換は、1が立っている桁の重みをすべて足し算することで求められます。

例1:1010₂ の場合

1010(2) = 1×1000(2) + 0×0100(2) + 1×0010(2) + 0×0001(2)
      = 1×2³ + 0×2² + 1×2¹ + 0×2⁰
      = 8 + 0 + 2 + 0
      = 10(10)

つまり:1010(2) = 1000(2) + 10(2) = 2³ + 2¹ = 8 + 2 = 10(10)

例2:1101(2) の場合

1101(2) = 1000(2) + 100(2) + 10(2) + 1(2)
      = 2³ + 2² + 2¹ + 2⁰
      = 8 + 4 + 2 + 1
      = 15(10)

例3:101(2) の場合

101(2) = 100(2) + 1(2)
     = 2² + 2⁰  
     = 4 + 1
     = 5(10)

変換のコツ

  1. 1が立っている桁を見つける
  2. その桁の重み(2のべき乗)を確認する
  3. すべての重みを足し算する

この規則を覚えれば、どんな2進数でも10進数に変換できます!

よく使う2進数と10進数の対応表

計算練習でよく使う数値を覚えておきましょう:

2進数10進数覚え方
1(2)1(10)同じ
10(2)2(10)
11(2)3(10)2+1
100(2)4(10)
101(2)5(10)4+1
110(2)6(10)4+2
111(2)7(10)4+2+1
1000(2)8(10)
1111(2)15(10)8+4+2+1

2. 2進数の足し算の基本ルール

2進数の1桁の足し算には、4つのパターンしかありません:

計算結果説明
0 + 00ゼロ足すゼロはゼロ
0 + 11ゼロ足す1は1
1 + 011足すゼロは1
1 + 1101足す1は桁上がりして10

重要: 2進数では「2」という数字は存在しないため、1+1=10(桁上がり)になります。

3. 桁上がりのある計算

例1:簡単な2桁の計算

  11  <- 3(10)
+ 01  <- 1(10)
----
 100  <- 4(10)

計算手順:

  1. まず10進数で確認:3 + 1 = 4
  2. 2進数で計算:
    • 右端:1 + 1 = 10 → 0を書いて、1を桁上がり
    • 左端:1 + 0 + 1(桁上がり)= 10 → 10を書く
  3. 結果:100(2) = 4(10)✓

例2:複数回の桁上がり

  111  <-7(10)
+ 001  <-1(10)
-----
 1000  <-8(10)

計算手順:

  1. まず10進数で確認:7 + 1 = 8
  2. 2進数で計算:
    • 右端:1 + 1 = 10 → 0を書いて、1を桁上がり
    • 真ん中:1 + 0 + 1(桁上がり)= 10 → 0を書いて、1を桁上がり
    • 左端:1 + 0 + 1(桁上がり)= 10 → 10を書く
  3. 結果:1000(2) = 8(10) ✓

4. 練習問題

基本問題

以下の2進数の足し算を計算しなさい:

問題1:

  10
+ 11
----

問題2:

  101
+ 010
-----

問題3:

  111
+ 111
-----

解答

問題1の解答:

  10  <- 2(10)
+ 11  <- 3(10)
----
 101  <- 5(10)

確認:2 + 3 = 5 ✓

問題2の解答:

  101  <- 5(10)
+ 010  <- 2(10)
-----
  111  <- 7(10)

確認:5 + 2 = 7 ✓

問題3の解答:

  111  <- 7(10)
+ 111  <- 7(10)
-----
 1110  <- 14(10)

確認:7 + 7 = 14 ✓

5. 10進数との対応確認

計算結果が正しいかどうかは、10進数に変換して確認できます:

例:101(2) + 011(2) の計算

2進数での計算:

  101
+ 011
-----
 1000

10進数での確認:

  • 101(2) = 4 + 0 + 1 = 5(10)
  • 011(2) = 0 + 2 + 1 = 3(10)
  • 5 + 3 = 8(10)
  • 1000(2) = 8(10)✓(正解)

6. 応用問題

問題4:

次の計算を2進数で行い、10進数でも確認しなさい。

  1011
+ 1101
------

問題5:

10進数の計算「6 + 9 = 15」を2進数で計算しなさい。

解答

問題4の解答:

  1011  <- 11(10)
+ 1101  <- 13(10)
------
 11000  <-24(10)

確認:11 + 13 = 24 ✓

問題5の解答:

  • 6(10) = 110(2)(6 = 4 + 2 + 0)
  • 9(10) = 1001(2) (9 = 8 + 0 + 0 + 1)
  • 15(10)= 1111(2) (15 = 8 + 4 + 2 + 1)
  0110  <- 6(10)
+ 1001  <- 9(10)
------
  1111  <- 15(10)

確認:6 + 9 = 15 ✓

まとめ

2進数の足し算のコツ:

  1. 1桁ずつ右から計算
  2. 1 + 1 = 10(桁上がり)を忘れずに
  3. 桁上がりを次の桁に加える
  4. 10進数で確認する習慣をつける

コメント

コメントする