2進数は「電球のON/OFF」では理解できない?【2進数の初歩】

はじめての2進数


この記事ではコンピュータそのものから離れて数学チックな内容をお送りします。タイトルにある通り2進数についての解説です。

とはいえ、不安がることは一切ありません。この記事でできる限りわかりやすく説明しますのでどうかご安心いただければ幸いに思います。最後に少しだけ私見も含みますが、これも2進数の理解につながることだと考えていますのでどうかお許しください。

というわけで、さっそく説明に入ります。

2進数とはどのような数か?


2進数とは、ごく平たく言えば「2」で位上がりをする数のことです。

わたしたち人間は10進数をもっともよく利用しますが、10進数は「10」で位上がりしますよね。

 0、1、2、3、4、5、
 6、7、8、9、10(位上がり)


一方、2進数は先ほども書いた通り「2」で位上がりします。以下がそのイメージです。

 0、1、10(位上がり)


このとき2進数では2が「10」となりますが、これを「じゅう」とは読まずに「イチゼロ」と読みます。念のため書いておきますが、10進数の「10(じゅう)」ではありません

以降は、

 10、11、100、101、110、………


と続いていきます。

2進数なのに「2」がない理由


その数で位上がりするということは、その数を文字ひとつで表現しないことも意味します。2進数の場合、「2」という文字は使われず10進数の場合は「10」に当たる文字を使わないということです。「10」も「0~9」とは異なり文字を2つ使用していますからね。

2進数では「2」で位上がりしますから「2」という文字を使うことはありません。つまり2進数では「0」と「1」だけであらゆる数を表現することになります。

2進数の位上がりのタイミング


ここでは2進数で0から10まで数えてみます。

 0、1、10(位上がり)、
 11、100(位上がり)、
 101、110、111、1000(位上がり)、
 1001、1010

なんと、10まで数えるのに3度も位上がりしています。

2進数において、

10は「2」、
100は「4」、
1000は「8」

となります。

ちなみに2、4、8………これらはすべて2の累乗です。この事実は何気ないことのように思えるかもしれません。しかしとても重要なことですからもうしばらくお付き合いください。

どんな数も累乗で位上がりをする


ところで、10進数では10の累乗で位上がりすることはご存じのことだと思います。

1の位、10の位、100の位、1000の位、………

といった具合です。先に挙げた「1、10、100、1000」、これらはすべて10の累乗です。


考え方はこれと同じで、2進数では2の累乗で位上がりします。

1の位、2の位、4の位、8の位、………


お気づきですか?


2、4、8………これらはすべて2の累乗でしたね。つまり、10進数では10の累乗で位上がりし2進数では2の累乗で位上がりするのです。

n進数の位上がりについて(実例つき)


以上を一般化すると以下のようになります。

n進数ではnの累乗で位上がりをする


たとえば、「n」に「5」を入れるなら、

5進数では5の累乗で位上がりをする

といえますし実際に成り立ちます。以下、5進数で0~30まで数え上げていきましょう。

 0、1、2、3、4、10(ここが「5」)、
 11、12、13、14、20、
 21、22、23、24、30、
 31、32、33、34、40、
 41、42、43、44、100(ここが「25」)、
 101、102、103、104、105(これで「30」)


ご覧のとおり、5の累乗で位が上がっていることが確認できると思います。

2進数という「考え方」


基本情報技術者試験をはじめとした情報処理試験の学習において、最初に2進数について学ぶことが多いと思います。なぜなら2進数コンピュータのしくみでもっとも基本的な知識だからです。実際に市販のテキストにも一番初めの章で扱われていることが多いように見受けられます。

そして、2進数(もといビットパターン)は、しばしば電球の点滅によって説明されます。

わかりにくいたとえ

ちょうどこんな感じです。


電球と「0」「1」が対応していて一見するとわかりやすそうな図解ですよね………?


電球の図解って分かりずらくない?


ただ、学習の初めからいきなり「2進数という考え方があります」と示されたところで、初学者の方々は戸惑うしかないと個人的には感じています。たとえ電球の点滅のイメージが付いていたとしてもです。

実際にわたしはそこで大いに戸惑ってしまった経験があり、そこから前進するのに多くの時間を要しました。

いま振り返ってみても思うのですが、それは無理もないことだといえます。2進数はあくまでコンピュータ内でのデータの取り扱いをイメージするための考え方でしかないからです。電球を引き合いに出してもなお抽象的過ぎるというのも理由のひとつだといえましょう。

実際に「0」と「1」という数字が電子回路内を行き交っているわけではありませんし電球がチカチカと点滅しているわけでもありません。そこにあるのは電気信号だけです。

ただし、2進数がコンピュータにとって必要不可欠なことに変わりはありません。理解をする上で必要なことはイメージから入ること、不可欠なことは本筋の理解から逃げないことです。

コンピュータに限らず何かを理解するにあたっては比喩も必要なのですが、比喩によって物事を理解する上で肝心なことは机上の考え方目の前にある事実とを切り分けることだといえます。





それでは、今回はここまでといたします。
最後までお読みいただきありがとうございます。


はじめての2進数
最新情報をチェックしよう!