このページの本文へ

悟空、村の中で文書を探す (3/7)

2008年11月15日 08時00分更新

文●清田陽司/東京大学 情報基盤センター 図書館電子化研究部門 助教

  • この記事をはてなブックマークに追加
本文印刷

パソコンの情報単位 ~二進数とビット・バイト~


 「2通りの情報しか扱えないスイッチのかたまりが、なぜ膨大な情報を扱えるんだ?」 この謎が解ければ、パソコンの中に流れている情報がだんだんイメージできてくるようになります。ちょっとだけご辛抱くださいね。

 1個のスイッチは、「0」(オフ)か「1」(オン)の2通りの数字しか表せません。それでは、2個のスイッチを組み合わせてみたらどうなるでしょうか?

  2個のトランジスタの「オフ」「オン」の状態を組み合わせると、2×2=4通りの状態が表せることがわかります。数字でいえば「0」「1」「2」「3」の4つが表せることになります。4個のスイッチならば2×2×2×2=16通り(0~15)、8個のスイッチならば2×2×2×2×2×2×2×2=256通り(0~255)の状態を表せます。たくさんのスイッチを組み合わせていけば、もっと多くの状態を表せることになります。


Google連載図1

スイッチのオンとオフを組み合わせることでデータを表現できる


 ところで、人間はふだん数字を十進数、つまり「0」から「9」の10通りの記号を並べるやり方で表現しています。べつに10通りでなければならない理由は何もなく、ただ単に人間の両手の指の数が10本だったことにちなんでいると言われています(もし宇宙のどこかの星に12本の指をもつ知的生物がいたら、その星では十二進数が使われているかもしれませんね)。パソコンは2通りの状態しか表せないスイッチのかたまりですから、この例えでいえば2本の指しかないことになります。

 「人間の指が10本で十進数なら、パソコンの指は2本だから二進数?」 まさにその通りです! コンピュータはすべての数字を二進数、つまり「0」と「1」の2通りの記号を並べて表現していると理解できます。2個のスイッチならば「00」「01」「10」「11」、4個のスイッチならば「0000」「0001」「0010」……「1111」という二進数を扱っているのです。

 ここまできて、パソコンが扱っている情報の正体が明らかになりました。パソコンの情報の最小単位は1個のスイッチの2種類の状態、つまり1桁の二進数「0」「1」です。この最小単位のことをビット(bit)と呼んでいます。パソコンは、ビットをたくさん組み合わせることで、多くの情報を表現しているわけです。じつは、8個のビット、つまり8桁の二進数(00000000~11111111、十進数でいえば0~255)を1つのまとまりとして扱うのがパソコンの世界の約束事になっています。この8桁の二進数を「バイト(byte)」と呼んでいます。1バイト=8ビットです。

ところで、二進数を表現しようとするとどうしても桁数が多くなってしまいます。そこで、4個のスイッチをまとめて1桁で表現できる「十六進数」がコンピュータの世界ではよく使われます。十六進数を表現するには「0」~「9」の10個だけでは足りないので、「A」~「F」の6個の文字もあわせて使います。たとえば「E9」という十六進数は、十進数で「14×16+9=233」にあたります。コンピュータ分野の本を読むときは、十六進数のことを思い出すとよいでしょう。


パソコンの中の超々高層ビル=メモリー


 パソコンが「スイッチの巨大なかたまり」であることはわかったのですが、いったいそのかたまりはどんな電気回路になっているのでしょうか? パソコンの仕組みをすべて説明していくと、本題である「検索エンジンの仕組み」が説明できなくなってしまいますので、パソコンを構成する部品のうちの「メモリー」の仕組みだけを説明します。メモリーさえ理解できれば、パソコンの中に文書がどのように入っているかを具体的にイメージできるようになります。

 メモリーの仕組みのイメージを見てみましょう。メモリーは巨大な「オフィスビル」としてとらえると分かりやすいです。


Google連載図2

スイッチを幾重にも積み重ねることで、膨大な量のデータを記憶できる


 このオフィスビル「メモリービル」はとんでもなく高い建物で、すべてのフロアには8個の部屋があり、それぞれの部屋に1個のスイッチが備え付けられています。西新宿に建つ超高層ビルは、夜になるとたくさんの部屋の窓が明かりでまだら模様を描きますが、「メモリービル」も同じようにスイッチで部屋の明かりを点けたり消したりできます。それぞれのフロアの明かりが描く模様を情報としてとらえると、それぞれのフロアは1バイト=8ビット、256通りの情報を収納できることになります。

 「メモリービル」の肝心な点は、西新宿の超高層ビルと同じように入り口には総合案内係がいて、それぞれのフロアに番号が順番に振られていることです。フロア番号(階)を指定して案内係に要求することで、情報の出し入れが自由にできます。「ビルの40階に入居している会社を教えて」と問い合わせればその会社の名前を調べられるように、「メモリービルの40階に入ってる情報を教えて」と問い合わせれば「01001001(十進数でいうと73)」だとわかります。また、「メモリービルの60階に10010010(十進数で146)を入れて」と要求すれば、60階の8部屋のスイッチをその通りに切り替えてくれます(現実の超高層ビルではこんなことはしてくれませんが)。

 パソコンのカタログには「メモリー○ギガバイト」という仕様が書いてあります。実は、この仕様は「メモリービル」のフロア数を表しているのです。1ギガバイトなら、約10億階建て(!)の超々高層ビルです。これだけの巨大ビルを維持するためには様々な工夫がなされているのですが、ここでは次のことを理解できていれば十分です。

  • パソコンの中にはメモリーという名前の超々高層ビルが入っている
  • メモリーの各フロアには順番に番号がつけられている
  • 各フロアには1バイト(256通り)の情報が収納でき、要求に応じて自由に出し入れができる
  • 各フロアに収納されている情報(スイッチの状態)は、パソコンの電源が入っている限りずっと保存される

 イメージできましたか? それでは先に進みましょう。


次ページ:文書の表現方法 ~文字列と文字コード~

この連載の記事

一覧へ

この記事の編集者は以下の記事をオススメしています