【情報I】なぜコンピュータは2進数なの?現役エンジニアが仕組みから解説
こんにちは!オンライン家庭教師のこばやしです。普段はフリーランスのITエンジニアとして働きながら、中高生に「情報I」「理系数学」「英語」を教えています。
情報Iで最初の関門になりがちなのが、2進数・16進数です。変換のやり方は暗記でこなしているけれど、「そもそもなぜコンピュータは2進数なんて使うの?」という肝心なところが、いまいち納得できていない方も多いのではないでしょうか。
変換がつらく感じる原因は、理由を知らずに手順だけを覚えているからです。理由が分かれば、変換はただの作業ではなくなります!
■ コンピュータは「電気のオン/オフ」で動いている
まず知ってほしいのは、コンピュータの中身は、突き詰めると「電気が流れているか、いないか」の2つの状態しか区別できない、ということです。
スイッチのオンとオフ。この2つしかありません。だから、その2つの状態に「1」と「0」を割り当てるのが、いちばん自然で確実。つまり、コンピュータが2進数を使うのは好みではなく、必然なのです。
■ 2進数は"桁上がり"のルールが違うだけ
「2進数」と聞くと難しそうですが、実は10進数と同じ「位取り」の仕組みで、桁上がりのルールが違うだけです。
10進数は「10になったら位が上がる」。2進数は「2になったら位が上がる」。それだけの違いです。私たちが普段10本の指で数えるから10進数に慣れているだけで、数の本質は変わりません。ここが納得できると、変換もぐっと楽になります。
■ 16進数は、人のための"省略記法"
では、なぜ16進数まで出てくるのでしょうか。それは、2進数が「長すぎて人間には読みにくい」からです。
たとえば「11111111」と書くより、16進数で「FF」と書いたほうが、ずっと短くて扱いやすい。16進数は、2進数の4桁をちょうど1文字にまとめられるので、人間が2進数を読み書きするための"省略記法"として使われているのです。
■ 現場でも、16進数は日常の道具
「16進数なんて、試験でしか使わないのでは?」と思うかもしれません。でも実は、現場ではごく普通に使います。
たとえばWebの色指定。「#FF0000」は赤色ですが、これは16進数です。プログラムでメモリの中身を確認するときも、16進数で表示します。私も日々の開発で当たり前のように使っています。2進数・16進数は、決して机上の話ではないのです!
■ 「基準を決めて数を表す」という発想
何進数か、という考え方は、「基準を決めて数を表す」という数の本質に触れる入口です。この発想が分かると、数そのものへの理解が一段深まります。
私の授業では、スイッチのオン/オフから始めて「なぜ2進数なのか」を体感してもらいます。変換のやり方は、必ず理由とセットで教える。そうすると、暗記だった変換が「納得できる作業」に変わります。
「進数の変換が、何度やっても苦手」
「なぜ2進数を使うのか、そもそも納得できていない」
そんな方は、ぜひ一度体験授業にいらしてください。「だから2進数なのか!」という圧倒的な納得感と共に、数の世界へご案内します!
【プロフィール】
こばやし|納得感を大切にするフリーランスエンジニア
北海道大卒。約10年間にわたり金融決済システムなどの基幹開発に携わった後、フリーランスのエンジニア・IT講師として独立。企業の新人IT研修のメイン講師も務めるプロが、「仕組みから理解する」論理的な指導を行います。
この先生のおすすめコース
- 共通テストで「情報I」が必要な国公立大・難関私大志望の方
- 「プログラミング」や「データの分析」が苦手で、暗記に逃げている方
- 将来IT系に進みたい、または現役エンジニアから実学を学びたい方
このブログに関連するオンライン家庭教師はこちら
情報/プログラミングのおすすめの指導コース
- 国公立大学への進学を考える高1生以下の方
- 新科目の追加に不安な方
- 情報系を専攻する大学・学部に進学したい方
- 『情報I』の勉強で、どこから手をつけていいか判らない人
- 共通テスト過去問をみても解けない人
- 国公立大志望の人
- 情報の授業についていけず、何がわからないかも曖昧な方
- 定期テストで平均点を超えたい、情報を得意にしたい方
- 一緒に考えてくれて、丁寧に教えてくれる先生を探している方
- 国家資格「ITパスポート」を取得したい
- 推薦入試や就職活動に活かしたい
- ITの知識を身につけたい
- 高1・高2のうちに受験準備を始めたい生徒さん
- プログラムを見ると苦手意識がある生徒さん
- 情報Ⅰを得意科目・武器にしたい生徒さん