「コンピュータの世界は0と1だけでできている」
映画『マトリックス』のような話ですが、これは事実です。
でも、不思議ではありませんか?
私たちは「0〜9」の10種類の数字(10進数)を使っています。なぜ最先端のコンピュータが、たった2種類の数字しか使えない不便な方法をとっているのでしょうか?
この記事では、その理由を「電気スイッチ」に例えて解説します。
ITパスポート試験で必ず出る「ビット(bit)」と「バイト(Byte)」の違いも、これで完璧に理解できます。
1. なぜ「0と1」なのか?理由は「電気」だから
コンピュータは、突き詰めると「超巨大な電気回路」です。
電気の世界で、情報を一番間違いなく伝える方法はなんでしょうか?
電気の信号を伝える方法
- 方法A(10進数方式):
「0Vなら0」「1Vなら1」「2Vなら2」…「9Vなら9」と細かく分ける。 - 方法B(2進数方式):
「電気が流れてないなら0」「流れてるなら1」。これだけ。
もし方法Aを採用すると、電圧が少し不安定になって「1.9V」になったとき、「これは1なのか2なのか?」と迷ってエラーになります。
しかし、方法Bなら、多少電圧が弱くても「電気が来てる(ON)か、来てない(OFF)か」だけ分かればいいので、圧倒的にミスが減ります。
だからコンピュータは、「スイッチON(1)」と「スイッチOFF(0)」の2つだけを使うことにしたのです。
この「0か1か」のデータのことを「バイナリデータ(2進数)」と呼びます。
2. 10進数と2進数の数え方の違い
私たちが普段使っている10進数と、コンピュータの2進数を比較してみましょう。
人間(10進数)の場合
指が10本あるので、0から9まで数えて、いっぱいになったら桁上がりします。
- 0, 1, 2 … 8, 9, 10(桁上がり)
コンピュータ(2進数)の場合
指が1本(スイッチ1つ)しかありません。0と1しかないので、すぐに桁上がりします。
- 0, 1, 10(これで「2」を表す)
- 11(これで「3」を表す)
- 100(これで「4」を表す)
「10」と書いてあっても、人間にとっては「ジュウ」ですが、コンピュータにとっては「イチゼロ(つまり2)」なのです。
ややこしいですが、ルールが違うだけです。
3. 試験頻出!「ビット」と「バイト」の違い
ITパスポートや基本情報技術者試験で絶対に避けて通れないのが単位の話です。
- ビット(bit)= スイッチ1個
- 情報の最小単位です。「0」か「1」のどちらかしか入りません。
- バイト(Byte)= スイッチ8個の箱
- 8ビット集まると「1バイト」に変身します。
これは、半角英数字(Aとか1とか)を1文字表すのに必要なサイズが8ビットだったからです。
「8 bit = 1 Byte」
これは、「8円 = 1ドル」のような交換レートだと思って暗記してください。
通信速度の「Mbps(メガビット)」と、データ容量の「MB(メガバイト)」で数字が合わないのは、この「8倍の壁」があるからです。
4. どうやって文字や画像を表しているの?
「0と1だけで、どうやって『あ』という文字や、きれいな写真を表しているの?」と疑問に思いますよね。
文字の場合
世界中の文字にあらかじめ番号が振られています(文字コード)。
- 「A」は「01000001」番
- 「B」は「01000010」番
キーボードで「A」を押すと、コンピュータの中では「01000001(スイッチON/OFFの並び)」として伝わっていきます。
画像の場合
画面を虫眼鏡で見ると、小さな点の集まり(ドット)になっています。
「1つ目の点は赤」「2つ目の点は青」という情報を、全部数字に置き換えます。
- 赤 = 11111111 00000000 00000000
こうして、とてつもない量の0と1を高速で並べることで、私たちの目にはきれいな映像に見えているのです。
5. 2進数を学ぶメリット
「エンジニアじゃないから関係ない」と思うかもしれませんが、これを知っていると以下のことが分かります。
- IPアドレスの仕組み:「192.168.1.1」という数字も、実は2進数32桁を人間に分かりやすく区切っただけ。
- 色の表現:「1677万色」という数字は、24個のスイッチ(24ビット)の組み合わせの数(2の24乗)。
- エラーの原因:文字化けなどは、0と1の変換ルール(翻訳機)を間違えた時に起こる。
まとめ
- コンピュータは電気スイッチ(ON/OFF)しか分からないから「0と1」を使う。
- ビット(bit)はスイッチ1個。バイト(Byte)はスイッチ8個。
- 8 bit = 1 Byte はテストに出る公式。
今あなたが読んでいるこの文章も、コンピュータの中では「010100…」という電気信号の点滅にすぎません。
そう思うと、なんだかコンピュータが健気なスイッチの集合体に見えてきませんか?