私たちが毎日当たり前のように使っているスマートフォンやPC。これらは「コンピュータ」と呼ばれますが、その中身が一体どうなっているのか、正確に説明できる人は意外と少ないかもしれません。
今回は、コンピュータサイエンスの入り口として、コンピュータの正体から、文字・音・画像がどのように「0と1」で表現されているのかまでを解説します。
目次
コンピュータの本質は「計算する人」
「Computer」という言葉の語源を知っていますか? もともとは Compute(計算する)+ er(人)、つまり「計算手」という人間の職業を指す言葉でした。
現代のコンピュータの本質も、実はこの「計算」にあります。
全ての情報を0と1で表現する
コンピュータは、私たちが話す言葉や見ている画像、聴いている音楽をそのまま理解しているわけではありません。内部ではすべてを「0」と「1」の組み合わせだけで処理しています。
この「0か1か」の2つの状態を表現できる最小の単位を ビット(bit) と呼びます。
ハードウェアの仕組み:脳と部品
コンピュータが計算を行うための中心的な部品が CPU(中央演算処理装置) です。
- CPU(製品): コンピュータの「脳」にあたります。
- トランジスタ(部品): CPUの中には、膨大な数の「トランジスタ」が組み込まれています。これは半導体で作られた非常に小さな「電気のスイッチ」です。
- 半導体(素材): シリコンなどの物質でできており、電気を通したり通さなかったり(絶縁体)できる特殊な性質を持ちます。
この「スイッチのON(1)とOFF(0)」の組み合わせが、複雑な計算を可能にしているのです。
文字の表現:数字へのマッピング
文字を0と1で表すには、特定の数字に文字を割り当てる「マッピング」が必要です。このルールを 文字コード と呼びます。
- ASCII(アスキー): 英語圏専用の基本的なルールです。半角英数字やスペースなどの制御コードを0〜127の数字で表現します。
- UNICODE(ユニコード): 世界中のあらゆる言語(漢字、絵文字など)を1つのルールで扱えるようにした世界共通の規格です。
漢字のような多言語文字は、より多くの情報を必要とするため、複数の「バイト(1バイト=8ビット)」を組み合わせて表現されます。このマッピングルールが送信側と受信側でズレると、いわゆる「文字化け」が発生します。
音の表現:波を数字に変える
音は本来「空気の振動(波)」というアナログな連続データです。これをデジタル化するには、2つのステップが必要です。
- 標本化(サンプリング): ずっと続いている音の波を、一定時間ごとに「点」として拾い上げる作業です(横軸:時間の処理)。
- 量子化: 拾い上げた点の「音の大きさ」を数字で測る作業です(縦軸:音量の処理)。
このように、連続するデータを数字で区切られたデータに変換することで、コンピュータは音を扱えるようになります。
画像の表現:0と1への翻訳
画像のデジタル化も、音の仕組みと基本的には同じです。
- 標本化: 画像を細かい「画素(ピクセル)」に分割します。
- 量子化: 各画素の色や明るさを数字に変換します。白黒なら情報の数字は小さく、フルカラーなら数字は大きくなります。
- 符号化: 算出された数字を、コンピュータが理解できる「0」と「1」の言葉(バイナリデータ)に翻訳する作業です。
コンピュータの思考回路:論理演算
コンピュータが意思決定(計算)を行う際、ベースとなるのが 論理演算 です。「真(True / 1)」と「偽(False / 0)」を入力し、その結果を返します。
- NOT(否定): 入力を反転させる(1なら0を返す)。
- AND(論理積): 全てが真の時だけ真を返す。
- OR(論理和): どれか一つでも真なら真を返す。
- XOR(排他的論理和): どちらか一方だけが真の時に真を返す(両方真、または両方偽なら偽)。
これらのシンプルな論理の積み重ねが、高度なAIや複雑なアプリケーションを動かしているのです。
まとめ
コンピュータの世界は、究極的には 「電気のスイッチ(0と1)」と「論理の組み合わせ」 だけで構成されています。
一見魔法のように見えるテクノロジーも、その根底にあるのは極めてシンプルな数学的・物理的ルールです。この基本を理解しておくと、新しい技術に触れた際も、その本質を捉えやすくなるはずです。
それでは、また次回の記事でお会いしましょう!