【情報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系に進みたい、または現役エンジニアから実学を学びたい方
このブログに関連するオンライン家庭教師はこちら
情報/プログラミングのおすすめの指導コース
- AI・機械学習に興味はあるけど難しそうで不安な生徒様・親御様
- オンラインでAIを学びたい生徒様・親御様
- 将来AI関係の学問・仕事に関わりたい生徒様・親御様
- 『情報I』の勉強で、どこから手をつけていいか判らない人
- 共通テスト過去問をみても解けない人
- 国公立大志望の人
- 共通テストに向けた対策・最後の確認をしたい方
- プログラミング関係に不安がある生徒様
- 共通テスト対策をしっかりしたい生徒様
- 情報Ⅰの学習内容がわからない
- プログラミングって何?という
- PCで使われる用語がわからない。
- 用語や知識を暗記しても、実際の問題にどう活かすかピンとこない
- 将来は工学部や情報系の学部に進学したい、共通入試の情報科目で高得点を取りたい
- 共通入試対策だけでなくITスキルまで指導できる先生