コンピュータってすごいよね! 賢いよね!
って思うかもしれませんが、コンピュータって実はとても単純で、なんと数字しか使えないんです。
しかも0と1の2種類の数字しか扱うことができません。
そんなことないよ。文字も表示できるし絵も音も出るよ!
って思うかもしれませんが、コンピュータは0と1の2種類の数字を使ってこれらを表現しています。
コンピュータは0と1の数字をたくさん覚えることができて、それらをとても早く扱うことができ、コンピュータのすごさは、そこにあります。
コンピュータがすごいのは
0と1の2種類の数字をたくさん覚えることができて
それらを高速に扱うことができること
とはいえ、それだけだと使う人間側は不便です。
なので、色々なルールを決めています。
まず大きな数を扱うために、数字をいくつか組み合わせています。
私たち人間が数を扱う場合は、0から9までの10種類の数字を使います。
そして9よりも大きな数字を扱う場合は、桁上がりといって数字を2個に増やして表現します。
例えば12とか123のようにです。
コンピュータも同じように、桁を増やすことによって、1以上の数を表現します。
1の次は10で、10の次は11、11の次は100になります。
(0と1しかないので、桁の上がり方が早い)
そして8桁の数字を、1つのまとまりとして扱います。
つまり、0〜255(0〜11111111)の256種類の数字を表現できます。
そしてこれらをもっとたくさん繋ぎ合わせて、大きな数を扱ったり、一番左の数字を符号として扱うことで、マイナスの値を扱ったりします。
文字も同様に数字をうまく使って表現します。
例えば、0と1を並べていくと、何か見えてきませんか?
これを1の時だけ画面に点を打つようにすると文字や絵が表示できます。
音を出すのも、音の波形を0と1の集まりで表現することで鳴らしています。
このように、コンピュータは全ての情報を0と1の数字に変換して扱っています。
そしてそれをメモリーと呼ばれる記憶領域に保存しておき、必要に応じて値を読み出して、いろんなことをさせているのです。
つまりプログラマーは、コンピュータの中で数字をいじるお仕事なのです。
コンピュータで何か処理をさせるには、色々なデータを数字に置き換えて処理をさせる必要があり、プログラマーも色々な処理を数字に置き換えて考える必要が出てきます。
こういう行為を、物事の抽象化・数値化と呼びます。
もちろん人間が考えやすいようにプログラミング言語は作られていますので、全てを数字に置き換える必要はありませんが、コンピュータが処理しやすいように物事を考えるということは、結果的に答えが早く出るプログラムを書くことが出来る、すなわちそれが優秀なプログラマーとなるのです。
コメント