スポンサードリンク

30秒で計算する!2進法3進法・N進法の計算と、10進法の変換

スポンサードリンク Ads by google

例題

1) 48 を 3進法で表しなさい。
2) 5進法 204 を10進法で表しなさい。

2進法, 3進法… そして N進法 は、小学生にはとっつきにくい分野かもしれません。
ですが、すでに日常生活で10進法以外のN進法を使っています。
子どもたちに教えるために、まずは 日常にあるN進法から見ていきましょう。

1. 日常生活にある10進法以外

1.1 60進法 (時間)

時間の計算をするときに、私たちは 無意識のうちに60進法を使っています。
384分 って、何時間何分ですか? との問には、384 を 60 で割って、商と余りを求めると答えがでます。
384 \div 60 = 6 ... 24
384 分 = 6 時間 24分
(応用例) 5000秒って、何時間何分何秒ですか?
5000 \div 60 = 83 ... 20 5000秒 = 83分20秒
83分は1時間(60分)を超えていますね。ですので、分の部分をもう一度計算しましょう。
83 \div 60 = 1 ... 23 83分 = 1時間23分
よって、5000秒 = 1時間23分20秒

1.2 24進法 (時間)

同じ時間ですが、24時間で1日となります。
例) 60時間 は 何日と何時間ですか?
60 \div 24 = 2 ... 12
60 時間 = 2日と12時間

1.3 7進法 (日数)

1週間は7日間ですね。
例) 25日は、何週間と何日ですか?
25 \div 7 = 3 ... 4
25日 = 3週間 と 3日

1.4 365進法 (日数)

1年間は365日ですね(うるう年を除く)。
例) 840日は、何年と何日ですか?
840 \div 365 = 2 ... 110
840日 = 2年間 と 110日

1.5 日常生活のN進法を教えるポイント

時間の時間・分・秒の計算が、小学生には一番わかり易いN進法だと思います。
時間の60進法を教えてあげて、日常生活で24進法ってなにがある? って聞いてみるのも良いですね♪
さて、第1章では、N進法がどんなものなのか? を、イメージさせることを目的としていて、厳密なN進法ではありません。
例えば、日数の7進法ですが、60日は、何週間と何日ですか? の 質問には、
60 \div 7 = 8 ... 4
60日 = 8週間 と 4日 という風に、答えるのが自然です。
ですが、正しい 7進法では、 1  1週間 と 4日 です。(読みは、イチイチ週間)
正しい N進法の計算方法は後述します。日常で使うN進法では、10進法をN進法に変換するには、元の数をNで割って、商と余りを求めれば良いことを子ども達に理解して欲しいですね。

2. 10進法をN進法へ変換

2.1 10進法とは?

0から始まり、9まで10個の数を使うと、位がひとつ上がる 進法 が 10進法です。
言い方を変えれば、10進法には、9よりも大きな数を表す 一文字 は存在しないので、9の次は桁が上げて表現するしか方法が無いのです。
あまりにも普通すぎて、何を言っているかわからないと思いますので、コンピュータで使われる16進法を例に考えてみましょう。
16進法で使われる数字(文字)は、0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F の16文字です。
ですので、9 の次の数字(文字)は、9より1大きい数字(一文字)Aが用意されているので、位が上がらずに A となります。 Fまで行くと、Fの次の 一文字 がないので、位を上げて 10 と書きます。
16 進法の数字の例
1 の次の(1つ大きい)数字は、2,
9の次の(1つ大きい)数字は、A
Aの次の(1つ大きい)数字は、B
Fの次の(1つ大きい)数字は、10 となります。

2.2 10進法を60進法に変換する

時間の60進法を思い出してみましょう。60進法では60以上の数字は使いません。
なので、10進法である秒数を60で割って、商と余りを求める事で 時間・分・秒 の 60進法に変換しています。
改めて 5000秒(10進法) を 逆さ割り算を使って、時間・分・秒 の 60進法に変換方法を確認します。
60進法 10進法 変換5000秒の中に60秒(1分)は何個あるか? を計算して、商と余りを書きます。5000秒は83分と20秒ですね。
次に83分の中に60分(1時間)は何個あるか? を計算しましょう。
60進法 10進法 変換83分は1時間と23分です。これを、連続して書くと
60進法 10進法 変換5000秒 = 1時間23分20秒 となります。 単位を書かなければ、
5000(10進法) = 1    23    20  (60進法)となり、これは、逆さ割り算の商 と 余りを 下から書いた 数 となります。

2.3 10進法を2進法に変換する

2進法のポイントは、
・ 2進法は 0 と 1 の二つの数字しか使えない
・ 2進法は 1 の次の数字は 位が上がって 1 0 となる
これを踏まえて 10進法を2進法に変換するのは、先ほどの60進法に変換した方法と全く同じ方法で出来ます。
例) 10進法 41 を 2進法に変換しなさい。
60進法と同じく 逆さ割り算を順次やっていきます。
2進法 10進法 変換ここでのポイントは、余りが0の場合もきちんと0を書いておく ということです。
後は、商と余りを下から書けば 2進法への変換完了です。
2進法 10進法 変換41(10進法) = 1 0 1 0 0 1 (2進法) となります。

2.4 まとめ : 10進法をN進法に変換する

元の10進法の数字を逆さ割り算を使ってNで割り、商と余りを求めれば 変換できます。
例題) 10進法 138を 7進法に変換しなさい。
7進法 10進法 変換
138(10進法) = 2 5 5 (7進法)
やり方さえ知っていれば、簡単ですね♪

3. N進法を10進法に変換する

3.1 10進法 おさらい

324 は 三百ニ十四 であり、
324 = 3 \times 100 + 2 \times 10 + 4 \times 1 = 3 \times 10^2 + 2 \times 10^1 + 4 \times 10^0を表します。
つまり、10進法は、一の位(10の0乗)、十の位(10の1乗)、百の位(10の2乗)、千の位(10の3乗) と 1桁増える毎に10倍になっています。

3.2 10進法と2進法・3進法…N進法を比べる

ここで (x)_Nを N進法の数字 x とします。
具体例として、(1111)_Nを考えましょう。
(1111)_{10} = 1 \times 10^3 + 1 \times 10^2 + 1 \times 10^1 + 1 \times 10^0
10進法の 1111 (千百十一)は、わかりやすいと思います。
さて、ここから Nを2~5まで変化させていきます。
(1111)_2 = 1 \times 2^3 + 1 \times 2^2 + 1 \times 2^1 + 1 \times 2^0
(1111)_3 = 1 \times 3^3 + 1 \times 3^2 + 1 \times 3^1 + 1 \times 3^0
(1111)_4 = 1 \times 4^3 + 1 \times 4^2 + 1 \times 4^1 + 1 \times 4^0
(1111)_5 = 1 \times 5^3 + 1 \times 5^2 + 1 \times 5^1 + 1 \times 5^0
つまり、10進法 1111 の右から2番めの位が 10^1であるように、N進法 1111 の右から2番めの位は N^1となります。
同様に、N進法 1111 の右から3番めの位は N^2
同様に、N進法 1111 の右から4番めの位は N^3
となります。

3.3 具体例 5進法 204 を10進法で表す

上記の法則を使って、
一番右の 4 は、5^0 = 1 の 4倍。
2つ目の 0 は、5^1 = 5 の 0倍。
3つ目の 2 は、5^2 = 25 の 2倍 となりますので、
(204)_5 = 2 \times 5^2 + 0 \times 5^1 + 4 \times 5^0 = 54となります。

4. N進法の計算

4.1 2進法の足し算

結論から書くと、10進法と全く同じ方法で出来ます。
(1010)_2 + (110)_2を2進法のひっ算で解きましょう。
2進法 足し算
0 + 0 = 0 ですね。
2進法 足し算
次の位は 1 + 1 = 10。ここで、0を下に書いて、1は繰上げておきます。10進法の足し算と同じ考えです。
2進法 足し算
繰り上がった 1 と 0 と 1 を足して、1 + 0 + 1 = 10。 ここでも、0を下に書いて、1は繰上げておきます。
2進法 足し算
繰り上がった 1 と 1 を足して、1 + 1 = 10。これを 下に書いて完成です!
(1010)_2 + (110)_2 = (10000)_2となります。
同じように、3進法でもN進法でも、足し算をすることが出来ます。

4.2 試験での2進法の足し算

N進法でも、足し算が10進法と同じように出来ると言っても、なれないN進法の計算をするのは大変ですよね… 計算間違いも起こしそうです。
ですので、試験でN進法の計算問題がでた時には、
1) N進法を10進法になおす
2) 10進法で計算する
3) 計算結果をN進法になおす
3ステップで計算しましょう♪
例題) (1010)_2 + (110)_2
回答) 2進法を10進法になおす
(1010)_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 = 10 \\  (110)_2 = 1 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 = 6
10進法で計算する
10 + 6 = 16
2進法になおす → 逆割り算を使う
2進法 足し算
よって、(1010)_2 + (110)_2 = (10000)_2となります。

4.3 N進法の計算まとめ

N進法の計算は、10進法になおしてから計算し、その答えをN進法になおす!
例題) 3進法 (1001)_3 \div (21)_3の答えを3進法で求めよ。
1) N進法を10進法になおす
(1001)_3 = 1 \times 3^3 + 0 \times 3^2 + 0 \times 3^1 + 1 \times 3^0 = 28\\  (21)_3 = 2 \times 3^1 + 1 \times 3^0 = 7
2) 10進法で計算する
28 \div 7 = 4
3) 計算結果をN進法になおす
N進法 計算
逆割り算を使って (4)_{10} = (11)_3
よって、(1001)_3 \div (21)_3 = (11)_3

N進法の計算問題は、やり方さえ知っていれば、簡単に解けますよ♪


あわせて読みたい! 数の性質のおすすめ記事