コンピュータは0と1で形成されている、という話を耳にされたことがあるという方も多いのではないのでしょうか?
私たちがインターネットで何気なく見ている文章や画像は、コンピュータの中で0と1という2つの数字のみで管理されています。
今回は『【ゼロからプログラマーになる!#03】 コンピュータは0と1の世界』というテーマでお話ししていきます。(参考⇒ゼロからプログラマーになる!#01 #02)
2進数
コンピュータでは、データの管理を0と1という数字のみで表現する「2進数」で表されています。
私たちは普段、10ごとに位が上がる10進数を用いていますが、コンピュータ内部ではそれらも2進数に変換しています。
もちろん画像や文章といったものも、すべて0と1という2つの数字で管理されています。
ビットとバイト
近年ではスマートフォンの普及により、「GB(ギガバイト)」という単位も、普段の会話で用いられるほど自然なものになりました。
この「GB(ギガバイト)」というのはデータを格納する単位のこと。最小の単位を「ビット」、ビットを8つで1組とした単位を「バイト」と言います。
コンピュータ上ではバイトを使って情報を表すことが多いです。
ビットとは電子回路に流れる電流の数字が「オフ=0」か、「オン=1」なのかの2通りを表してくれます。
ビットでは「オフ=0」と「オン=1」の2通りですが、バイトになるとそれが8つあるので、表現できることも増えてきます。
冒頭で説明した「GB(ギガバイト)」は、1GB=1.073.741.824バイトにあたる単位で、桁数が多くなりすぎて読みづらいので、これらを簡潔に表すために用いられる補助単位となっています。
各単位は以下の通りに位が上がっていきます。
- B(バイト)1B=8bit
- K(キロ)1KB=1024B
- M(メガ)1MB=1024KB
- G(ギガ)1GB=1024MB
- T(テラ)1TB=1024GB
コンピュータにおいて1000倍は切りが悪いので、1024が使われるようになりました。
文字コード
インターネット上で見える文字も、コンピュータがすべて数字で管理しています。その管理の指標となるのが、文字に数字を割り振った「文字コード」です。
コンピュータが普及していくにともない、世界共通の文字コードが必要となったため、「ASCII(アスキー)」と呼ばれる米国標準コードが作られました。
しかし「ASCII(アスキー)」はアルファベット以外の文字には対応しておらず、各国やメーカーごとに「ASCII(アスキー)」を拡張する形で、さまざまな文字コードが作られました。
日本語の拡張コード「JIS(ジス)」というのは、なんとなく知ってる方もいるのではないでしょうか。
■まとめ
いかがでしたでしょうか?今回は、ゼロからプログラマーになるために『コンピュータは0と1の世界』というテーマでお話しさせていただきました。
私たちの目に映る情報がコンピュータ内部ではどのように扱われるのか、プログラマーになるなら、理解を深めるために避けては通れない要素です。
より深く知るには計算式等も勉強する必要があるのですが、それはまた別の機会に簡潔に紹介していきます。