こんにちは!開発部門の佐々木です。
少し雑学になりますが、
先日スマホを使いこなす友人に、
「スマートフォンのボタンの仕組みはどうなっているの?」と質問されました。
(この疑問、自分も学生時代に思いました!!)
少し躊躇して、
「電気のオンとオフの信号で制御しているだよ」と答えました。
(正論すぎる!!)
考え直して、
「ボタンを押したときに別のページに移るようにコンピュータ言語で制御しているんだよ」と答え直しました。
(仕組みとしての答えになったのかな?)
世の中にはこういった当たり前に使っているけどわからない仕組みが多いと思われがちなのですが、電気を使ったものに関しての仕組みは本当に単純です。
「電気が流れている(ON)、流れていない(OFF)」だけなのです。
ONを1、OFFを0といった、2つの数字だけで表す「2進数」という考え方がベースになっています。
このn進数とは、「ある記号の集まりを1つの単位として考える」ことで、
他にも、
・時計の場合・・・60秒で1単位上がる → 60進数。
・チョコレートのダースの場合・・・12個を1単位とする → 12進数。
とあり、
その中でも代表的な3つの進数が、2進数、10進数、16進数になります。
■2進数
主に電気信号のON(1)とOFF(0)で、
単純な照明や掃除機のトグルスイッチから、
複雑なパソコンやスマホのボタンや動作も、基本的には1と0の配列(101001101111111…..)によってすべて動作しています。
■10進数
一般的な数字の考え方に近いです。
0~9の10を1つの単位としています。
1~10でないのは、10で単位を一つ上げる為です。
自分は学生時代、人間の指の数に合わせてできたものと教わりました。
■16進数
あまり馴染みがないかもしれませんが、
0~9とA~Fの16を1つの単位としています。
こちらも主に電気信号で使われることが多く、2進数より多くの情報を持ちたいものに使われます。
2進数の配列(101001101111111…..)は、16進数の配列では(A5A6F…)のようになります。
かなり限定的ですが、
色のコード番号。(赤色:FF0000)
パソコンが固有に持つMACアドレス。(00:2A:13:5B:89:FF)
に使われています。
最後の16進数はあまりピンとこないかもしれませんが、
パソコン(電気信号)での、複雑な情報や動作は、最終的には2進数に置き換えられています。
学生時代の自分は全く分かっていませんでした。
数学の決まりの一つとしてだけ覚えていました。
ただ、社会人になって仕事を通して知る知識の基礎が、
学生時代に知ったことに繋がったとき、
無駄なことは無いんだと気づかされました。
どんな仕事でも、
全く違う経験と新しい経験が組み合わさったとき、
今よりも新しいサービスが生まれると最近感じました。
今ある技術は未来の新たなサービスの為になると信じて、
今年も色々なことに挑戦していこうと思います。