コンピュータと言えば「2進数」、「ビット」、「バイト」という言葉が必ず出てきますが、普段の生活で2進数を意識することはありません。
ですが、これらの言葉を理解しないと、ITを知る上で苦労します。。。
情報系の色々な参考書や解説サイトにも2進数の説明は沢山あり、10進数や16進数への変換や計算方法も学習することができますので、このページでは「コンピュータにはなぜ2進数、ビット、バイトが必要なのか?」という観点でシンプルにまとめてみました。
コンピュータで使える数字とは?
コンピュータは何で動くのでしょうか?
それは、「電気」です!!
コンセントやバッテリーから電気が供給されてコンピュータは動きます。
その電気を使ってコンピュータの中のCPUやメモリ、ハードディスクなどの各部品が動作しています。
その電気を使って、コンピュータは計算をするのですが、ここで大事なことは、
「電気のオン、オフでものを考えている!」
ということです。
電気がオンなら電球が光り、オフなら電球が消えている、これで二つの状態を表現することができます。この電球一つ、電気のオンオフの最小単位をビットと言います。
電球のオンオフの状態を数字に置き換えると、「オフの状態を0」、「オンの状態を1」とすることができ、使える数字は0と1の二つだけとなります。
つまり、コンピュータは1ビットで二つの数(0と1)を扱うことができます。
電球が二つあれば、2ビット使えるので、「00」、「01」、「10」、「11」の四通りの状態を表現できるので、これは四つの数を扱えると言えます。
このように、電球を増やしていけば、「2,4,8,16,32,64,128,254…」(2のべき乗)というように、コンピュータで使える数を増やしていけます。
「コンピュータはビットで数字を表現していくことができる」ということを理解しておくことが大事ですね。
1ビットで0,1の二つの数字を扱うので、これを「2進数」と言います。
バイト(Byte)とは?
ビットは2桁あれば、2ビット列、4桁あれば4ビット列となりますが、8桁の8ビット列を一まとめにしてバイト(Byte)と呼びます。
8bit = 1Byte
なぜバイトが必要なのか?ということが疑問に沸きますが、歴史を紐解くとこれは凄く深い話のようなので、各種サイトをご参考に頂ければと思いますが、私の理解としては次の通りです。
複数のビットを一つのバイトに括ることで、色々な情報を同じサイズで扱える様にした方が良い。変数の管理が楽になり、内部の配線を共通化できるメリットもある。サイズの共通化である。
「英語大文字+英語小文字+数字+特殊文字」を扱うASCII文字コードは7ビット必要で、更に通信用で誤り訂正用のパリティビットを表現させるため8ビットを1バイトとした。つまり、ASCII文字コードを表現するために1バイトとした。
以下サイトを参考にしてみてください。
10進数、16進数とは?
コンピュータは2進数で数字を扱うことが分かりましたが、人間の世界では一桁で「0~9」の10個の数字を扱います。これを10進数と言います。
また、計算において一桁が「0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F」の16個の数字(文字)で表現する16進数もよく使われます。16進数は8ビットを2桁の文字で表すことができ便利です。以下は例となります。
01001110(2進数) = 4E(16進数)
10進数を2進数にしたり16進数にするやり方に関しても参考書や色々なサイトで解説されていますので、調べてみると理解が深まりますね。
大事なポイントは?
ここまで、2進数やビット、バイトのことを学んできました。10進数を2進数にしたり、16進数で表現したりする計算方法を覚えることは大事なのですが、先ずはコンピュータの中は電気のON・OFFで数字を管理していて、凄い速さ(1秒間に数十億回)でON・OFFすることで、莫大な計算ができていることを理解することがITを知る上で重要だと思います!
ON、OFFの状態を作るための仕組みとして、真空管、トランジスタ、ICなど歴史とともに変わってきましたが、ご興味ある方は深く調べてみるのも良いかと思います。
まとめ
今回はコンピュータが数字を扱うために、どのような工夫がなされているかを解説してきました。
電気のON・OFFを使うことで、2進数を実現し、ビット数を増やすことで、計算できる数を増やすことができるのですね。
考え方は非常にシンプルではありますが、これがベースになって、様々な技術の進歩と共に、人間の能力では絶対できない、計算を行えているのですね。
そして、コンピュータが数字を扱えることで、OSやソフトウェア、制御などを実現し、様々なIT技術を実現していくという壮大な話に広がっていきます!
基本をしっかり押さえることの重要性を改めて感じますね。
以上です!
参考URL)