見出し画像

「二進法」こどもに説明できますか?スッキリわかって説明できる簡単な方法!

二進法の仕組み

別に数学が得意なわけでもないし理系ですらないけど、コンピューターに頼った生活を送っている以上、理解はしておいた方がいいよね、と思う「二進法」。

聞けば、カミさんもよくわかってない状態だったので、ちょっと図にしてみました。
ホラ、これならわかるっしょ?

さわやかなグリーンの背景とりんごのイラストでごまかしてみた

ほうほう、だから「6」なら「110」で、「7」が「111」、次に「8」だと位が上がって「1000」ね。

分かった気になるよね~。うんうんわかる。

じゃ、「1011001」は?

ん?

これがもう、一つの“壁”ですよね。桁数というより逆算ができない
まぁ、そんな時は急がば回れです。

60進法ならわかるんじゃない?

みんな馴染みのある「60進法」で考えてみましょう。幼児教育でもやる子もいるし、小学校で習いますよね。さすがにみんな理解してるはず。

じゃ、「3846秒」って、何時間何分何秒?

10進法で「秒」で表された秒数を60進法の時分秒になおすのは面倒だけど、やり方はわかるはず。
60進法の仕組みは、「60進んだら位が一つ上がる」です。だから、60で割っていけばわかるわけです。

3,846=3840(=3600+240)+6

3846÷60(分=つまり1時間)=64分と、あまりが「6」秒
「64分」を「60(秒)」で割ると、「1」時間と、あまりが「4」分

つまり、「1時間46秒」となります。
この、下から逆のL字で登っていく「型」を覚えておきましょう。

では、逆算はどうする?

たとえば、3時間12分46秒は、何秒?
つまり、10進法の世界の数字に変換するには、こうなります。

3*60*60+12*60+46=11,566

「時」には、3600を掛ける つまり「時」は、3600秒の位
「分」には、60を掛ける つまり「分」は、60秒の位
「秒」はそのまま 「秒」なので1秒の位

それぞれ位ごとに秒に換算したものを合計するのが解法。

時間の場合、さらにちょっと厄介なのが「日」は24進法で、「年」は365.25進法なので厄介です。
しかも、正確には1年は365.24219日なので、グレゴリオ暦ではうるう年の例外として、西暦年号が100で割り切れて400で割り切れない年を、「うるう年ナシ!」として、365.2425日に換算しています。
実際にはこれでも1000年で1日ぐらいズレるらしいけど、修正方法は決まってないんだそうです。

時間の場合は、1日は「86400秒」とか、「1440分」とか、あるいは、30日は「720時間」、31日は「744時間」を覚えちゃうのが便利です。ICTの仕事に関わる人にとっては、86400秒とか3600秒とかなじみ深い秒数ですよね。

どんどん、脇道にそれていく・・・

もしも「4進法」だったら?

では、話を戻します。
特に人生の間に登場機会はないかもしれないけど、もしも「4進法」で考えなければならない時代になったらどうでしょう?

「4進んだら位があがる」のが4進法。

時間の例で試したように10進法の数値を4進法にするにはできますよね。やり方は同じで「4で割っていく」ことになります。

たとえば「423」を4進数で表現すると、

「4で割る」を繰り返す

になります。
これを、最後の除算結果「1」と、あまりの値を、下から順に並べると、

「1」「2」「2」「1」「3」で、「12213」という値が、4進法における「423」ということになります。

進数変換ツールと変換計算式 PEKO STEP(ぺこすてっぷ)より

逆算の場合も同じことです。
あんまり身近な例えがないので、4進法の位を左の桁から「ロクヨン」「イチロク」「ヨン」「イチ」としましょう。

4進法の世界の「3101」は、

「ヨンの位」ってなんか″めまい”がする

つまり重要なのは「位」の概念

‌10進法の世界だって、

「いち(一)のくらい」
「じゅう(十)のくらい」
「ひゃく(百)のくらい」
・・・
「ちょう(兆)のくらい」

って、覚えましたよね。

そういえば、お金(貨幣や紙幣)ってそうなってます。

100円玉が10枚あったら、1000円札にしたいし、千円札が10枚あれば一万円札にしたい。そして、10000万円札には100円玉が100枚、あるいは10円玉が1,000枚含まれていることは、イメージできると思います。

10進法から2進法の解法(すだれ算)

というとは、2進法も同じことで、

「一の位」
「2の位」
「2×2の位」(なんで×かというと、10円玉が10枚あるから100円=100の位と同じこと)
「2×2×2の位」
「2×2×2×2の位」

え?もう「位」があがるの?
っていうぐらい、すぐに位があがります。なにせ「二進法」ですから。
今日一年生なら明日は二年生です。(ちょっと違うけど)

という具合に、2進法における「位」が上がるごとに「2のべき乗」(位が進むたびに掛ける回数がひとつずつ増えていきます)になっていることがわかります。

これを、計算する方法として「すだれ算」なる手法が存在します。

たとえば、10進法の世界の「86405」は、2進法だとこうなります。

めんどう過ぎたので、スプレッドシートで計算した

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

逆の方法は、位ごとに「なんの位」になっているか?ということを考えれば計算可能です。

「1011101」

という2進法の数字がある場合、

1:64の位が「1」なので、「64」
0:32の位が「0」なので、「0」
1:16の位が「1」なので、「16」
1:8の位が「1」なので、「8」
1:4の位が「1」なので、「4」
0:2の位が「0」なので、「0」
1:1の位が「1」なので、「1」

これを全部足すと、「64+0+16+8+4+0+1=93」となります。

どうでしょう?スッキリと理解できたでしょうか?

結論

2進法は「慣れてないから日常で使いこなすのは難しい」けど、「10進法から2進法」に変換する方法は割と簡単。逆に2進法の数値を10進法にするのも、算数レベルの考え方で算出可能です。
ちょっとググってみれば、解法自体はすぐいろんなサイトがヒットします。

ちなみに今の時代はAIがいろいろ答えてくれる時代。
ChatGPTなら解法まで解説付きです。

ありがたいけど、おせっかいな感じがしなくもない

ま、検算にはこちらのサイトのお世話になりました。
https://www.peko-step.com/tool/nsin.html

でも、その解法自体を公式を覚えたり、それを使えるようになるより(そもそもそんな機会まれですし)、考え方を理解するのが素敵なテーマだと思うのです。

中学校の数学の指導要領からは外れてしまったようですが、こういう頭の使い方はとてもよい数学的訓練になると思うのです。

カミさんに何度もダメ出しされながら図解で補ったので、「n進法」の海を公開する羅針盤として、これなら多くの航海士たちの助けとなるでしょう。

この記事が参加している募集

数学がすき

この記事が気に入ったらサポートをしてみませんか?