【2進法】これ以上わかりやすくはできません!2進法を徹底解説

私たちが日々よく使っているのは10進法です。

あまりにも使い慣れているので、何も考えることなく10進法を使いこなしていますが、2進法や5進法だって基本的な考え方は10進法と同じです。

ですから10進法をもとにして考えれば2進法や5進法を納得しやすいと思います。

それでは先ず10進法を見直してみましょう。

10進法

整数や小数を扱う場合、10進法では「0」から「9」までの合計10個の文字を使います。ですから次の図のようにボールの個数を数字で表わしたい場合、0個から9個までなら、それぞれの個数に対して1個の文字を割り当てることができます。

しかし「10」という個数をひとつの文字で表わすには文字が足りません。新しい文字を増やしても構いませんが、文字を無限には増やせませんから「0」から「9」までの10個の数字を使って表わしたいのです。もう使ってしまっているので混乱するかもしれませんが、10個の「10」という表記は「1」という文字と「0」という文字しか使っていませんよね。この意味を考えてみましょう。

10進法でボールを数えましょう

ボールの数を数えながら棚の上に置いていく作業をイメージして下さい。いちばん下の段にボールを置いていきます。

最初は何もないので0個です。

1個置きます。

また1個置いて2個にします。

これを繰り返して9個にしました。

ここまでは各個数にひとつの文字を割り当てられます。では、ここにもうひとつ加えましょう。

すると10個になったので、これを袋詰めにしてひとつ上の棚に載せることにします。

上の段に袋がひとつ、そして下の段にボールがないので、これが「10」です。

そしてまた下の段にボールを置いていきます。

これを繰り返してボールが9個になりました。

そしてまた10個になったら袋詰めにして上の段に上げます。

上の段に10個入りの袋がふたつ、そして下の段にボールがないので、これで「20」です。

これを繰り返し袋が10個になったら今度は袋をトランクに詰めます。そしてそのまた上の段に上げます。

これが「100」です。

このようにすれば「0」から「9」までの限られた文字で数を表せるようになるのです。

例えば10進数の「253」は次の図のように「トランクがふたつ、袋が5つ、ボール3つ」を表しています。

10進法では袋詰めやトランクに詰めるタイミングはすべて10個溜まったときでしたね。このタイミングを「2個」にしたのが2進法です。では今度は2進法でボールを数えてみましょう。

2進法でボールを数えましょう

何もない「0」は10進法でも2進法でも変わりません。

1番下の段にボールをひとつ置きます。

これで「1」です。次に2個目を置きます。2個になったら袋詰めにして上の段に置きます。

2進法では、ボール「2個」で袋詰めにして上の段に上げてしまうのです。これが2進法の「10」です。

この表記は10進法と変わりませんが、これを「ジュウ」と読んではいけません。「ジュウ」というは10進法で決めた読み方だからです。10進法以外での表記の場合、数字の並び方のとおり「イチゼロ」と読むことにしましょう。では、もうひとつボールを加えます。

これが2進法の「11(イチイチ)」です。もうひとつ加えましょう。

ボールが2個になったので袋詰めにして上の段に上げます。

すると袋もふたつになりました。ふたつの袋はトランクに詰めて上の段に置きます。

これが2進法の「100(イチゼロゼロ)」です。

ボールをいちばん下に加えます。これが2進法の「101(イチゼロイチ)です」

そしてまた1個のボールを加えます。ボールが2個になったのでは袋詰めにします。そして上の段に載せます。

これが「110(イチイチゼロ)」です。

そしてボールを加えて「111(イチイチイチ)」になりました。

このように表記するのが2進法なのです。

ところで10進法の「111(ヒャクジュウイチ)」と2進法の「111(イチイチイチ)」は表記上では区別がつきません。そこで10進法以外では、次のように小さなカッコをつけて、その中に何進法なのかを示します。

10進数を2進数に変換する

では、10進法で表した数を2進法に変えてみましょう。例として、10進数の「19(ジュウキュウ)」を2進数に変換します。

19個のボールをまとめて下の段に置きます。

このボールを袋詰めにしましょう。2進法を使うので2個で袋に入れます。袋はいくつできるでしょうか?

19を2で割って、その商を求めればいいのですね。

余りは袋詰めにできなかったボールの個数です。

袋は9個できました。では今度は、袋をトランクに入れましょう。トランクはいくつできますか?わかりますね。9を2で割って商を求めればいいのです。

余りは1なので、袋はひとつ残りました。

では、トランクをふたつで箱詰めにしましょう。次のとおりですね。

箱がふたつできたらトラックに載せます。

段の上には「0」個と「1」個だけになりました。これで完成です。つまり次の図のようになりました。

ですから10進法の「19(ジュウキュウ)」は2進法では「10011(イチゼロゼロイチイチ)」です。

この計算を効率よく行うために次のような縦の計算をよく使います。

上から2で割って商と余りを書いていきます。

2進数を10進数にする

今度は2進数の「10110」を10進数に変えてみましょう。さっきの段を使って表せば次のようになります。

この図を見るとトラックやトランク、袋の中にあるボールを考えれば、ボールは全部で22個あると分かってしまいますね。ですから10進数では「22」なのですが、計算式を作るのであれば次のようになります。

この計算をすれば2進数を10進数に変えることができます。答えは「22」になりますね。

2進法で表された小数

2進法にも小数があります。これも10進法をもとにして考えてみましょう。

例えば10進数の「0.274」を考えてます。これは次のように分数の和で表せます。

上の図の「10分の1」の部分を下の図のように「2分の1」に変えると2進法の意味になります。例えば2進法の「0.101」なら次のようになります。

これを先程のボールで表せば次のようになります。

2進法では、小数第1位は「2分の1」を、小数第2位は「4分の1」を、小数第3位は「8分の1」を表しているのです。

ですから、この計算を行うと2進数の小数を10進数に変換できます。計算してみましょう。

2進法の「0.101」は10進法では「0.625」になります。

10進数の小数を2進数の小数にする

10進法で表された小数を2進法の小数に変える計算方法を考えます。上の計算式を利用します。

この式の右辺の特徴を利用します。この式の右辺を2倍してみましょう。

するとどうなるかというと…

上の図のように整数部分と小数部分が出てきますが、ここで整数部分だけに着目すると、その値は2進数で表された小数の小数第1位の値と一致します。

これを繰り返せば10進数の小数を2進数の小数にできるのです。

実際にやってみましょう。10進法で表された小数の小数部分を2倍、2倍としていけばいいのです。

まとめ

10進法と2進法が分かれば、3進法も5進法もわかるようになります。ボールの例でいえば、ボールを袋詰めにしたり袋をトランクに入れるタイミングを3個や5個に変えればいいだけなのです。